【Linux】MySQL安装
说明
- 命令行安装以
Ubuntu为例(WSL环境下) - 编译安装以
centos为例 - 为了选择特定版本及多版本使用,推荐源码编译安装
- 待完成
-
MySQL远程登录 -
Ubuntu编译安装 - 多版本切换:估计是在源码编译安装中设置
my.cnf之后的步骤重做 - 添加链接:
service和systemd
-
步骤
命令行安装
1 | 通过源安装MySQL |
源码编译安装
下载相应安装包,
wget https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-8.0/mysql-8.0.28-el7-x86_64.tar.gz, 此处使用清华镜像源检查是否安装过
MySQL1
2
3
4
5
6
7
8#### 查看是否有mysql依赖,为空则表示没有
rpm -qa | grep mysql
#### 如果有就卸载,xxx表示查出来的依赖
普通删除模式
rpm -e xxx(mysql_libs)
强力删除模式,如果上述命令删除时,提示有依赖其他文件,则可以用该命令对其进行强力删除
rpm -e --nodeps xxx(mysql_libs)检查是否有
mariadb:rpm -qa | grep mariadb, 有则卸载, 同MySQL卸载
安装
MySQL依赖包:yum install libaio解压到指定路径,
sudo tar -zxvf mysql-8.0.28-el7-x86_64.tar.gz -C /opt更名并移动至
/usr/local下1
2
3cd /opt
mv mysql-8.0.28-el7-x86_64 mysql
mv /opt/mysql/ /usr/local/创建数据库文件存放的文件夹。这个文件夹将来存放每个数据库的库文件
1
2cd /usr/local/mysql
mkdir mysqldbMySQL安装目录赋予权限:chmod -R 777 /usr/local/mysql/创建
MySQL组和用户- 创建组:
groupadd mysql - 创建用户:
useradd -r -g mysql -s /bin/false mysql(-s /bin/false参数指定MySQL用户仅拥有所有权,而没有登录权限) - 将用户添加到组中:
chown -R mysql:mysql ./
- 创建组:
修改
MySQL配置文件:vim /etc/my.cnf,如果没有文件就新建1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/mysqldb
# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4进入
MySQL安装目录下,安装MySQL:1
2cd /usr/local/mysql/bin/
./bin/mysqld --initialize # 生成初始密码,见下图终端(记住,后面登录MySQL需要)
启动
MySQL服务1
2
3
4
5cd /usr/local/mysql/support-files
./mysql.server start
# 如果第一次启动,当初始化执行会有报错,加权限,再次执行
chmod -R 777 /usr/local/mysql
./mysql.server start将
MySQL添加到系统进程中:cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld设置
MySQL自启动1
2chmod +x /etc/init.d/mysqld
systemctl enable mysqld修改root用户登录密码
1
2
3
4cd /usr/local/mysql/bin/
./mysql -u root -p
# 修改账户密码为:root:passwd
alter user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'passwd';全局使用
MySQL,加环境变量,并生效1
2
3vim ~/.bashrc
PATH=${PATH}:/usr/local/mysql/bin
source ~/.bashrc全局使用:
mysql -uroot -p,输入密码即可使用
docker安装
- 安装:
docker pull mysql - 启动:
docker run -d --name local-mysql -p 4561:3306 -e MYSQL_ROOT_PASSWORD=123 -e LANG=C.UTF-8 mysql - 进入容器:
docker exec -it local-mysql /bin/bash
配置
参考
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 cv-programmer!





