准备工作

MySQL官网下载安装包,地址为:MySQL :: Download MySQL Community Server (Archived Versions),选择最新小版本的安装包,否则会有很多漏洞,后期升级麻烦。选项如图所示,当前最新小版本为5.6.51

image-20220815152934126

安装前检测

通过命令检测系统是否存在Mariadb

1
rpm -qa|grep mariadb

如果存在,通过以下命令卸载:

1
2
# 卸载mariadb,文件名为上述命令查询出来的文件
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

相同的方法检测下是否存在MySQL需要处理,如果没有,继续下一步。

创建用户与用户组

通过如下命令创建用户组和用户:

1
2
3
4
5
6
# 添加用户组
groupadd mysql
# 添加用户
useradd -g mysql mysql
# 设置用户密码
passwd mysql

解压安装包

通过如下命令解压安装包,并将权限更改为mysql的用户和用户组:

1
2
3
4
5
6
7
8
9
10
11
# 解压安装包
tar -zxvf mysql-5.6.51-linux-glibc2.12-x86_64.tar.gz
# 移动文件夹到data目录
mv mysql-5.6.51-linux-glibc2.12-x86_64.tar.gz /data
# 重命名文件夹为mysql
mv mysql-5.6.51-linux-glibc2.12-x86_64.tar.gz mysql

# 更改文件夹所属用户
chown -R mysql mysql/
# 更改文件夹所属用户组
chgrp -R mysql mysql/

创建配置文件

创建文件/etc/my.cnf并写入以下配置信息(更多配置项可自行配置)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8

[mysqld]
skip-name-resolve
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=/data/mysql
# 设置mysql数据库的数据的存放目录
datadir=/data/mysql/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
default_authentication_plugin=mysql_native_password

event_scheduler=ON

更改配置文件权限:

1
2
chmod 644 /etc/my.cnf
chown mysql:mysql /etc/my.cnf

注:如果要启用数据库的远程连接,最好不使用高危端口3306

开始安装

切换到/data/mysql目录,执行以下命令开始安装:

1
scripts/mysql_install_db --user=mysql --basedir=/data/mysql/ --datadir=/data/mysql/data/

如果安装过程出现以下错误:

FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:
Data::Dumper

通过命令yum install -y autoconf安装autoconf解决;

如果出现如下错误:

Installing MySQL system tables…/data/mysql//bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

通过命令yum install libaio*安装相关依赖解决。

安装好上述依赖,重新执行脚本命令完成安装。

配置MySQL服务

1
2
3
4
5
6
7
8
9
10
11
# 复制启动脚本到资源目录
cp /data/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld

# 增加mysqld服务控制脚本执行权限
chmod +x /etc/rc.d/init.d/mysqld

# 将mysqld服务加入到系统服务
chkconfig --add mysqld

# 启动mysqld
systemctl start mysqld

将mysql的bin目录加入PATH环境变量

1
2
3
4
5
6
7
8
9
10
11
# 声明MYSQL_HOME变量
echo 'export MYSQL_HOME=/data/mysql' >> /etc/profile

# 将MYSQL_HOME/bin加入PATH变量
echo 'export PATH=.:$MYSQL_HOME/bin:$PATH' >> /etc/profile

# 刷新文件
source /etc/profile

# 查看添加情况
tail -2 /etc/profile

设置root账号密码

通过命令mysql以root账号登录,默认没有密码,然后通过命令修改密码:set password=password('123456');

设置远程登录

1
2
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;

注:username 和 password改成实际可远程登录的账号密码