1、卸载之前安装的 mariadb (如果有的话)
$ sudo yum remove MariaDB-server galera-4 MariaDB-client MariaDB-shared MariaDB-backup MariaDB-common
2、配置 mysql 5.7 的官方yum源
# 下载 mysql yum 源自动配置软件包
$ sudo wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
# 配置 mysql yum 源
$ sudo rpm -ivh mysql80-community-release-el7-3.noarch.rpm
# 禁用 mysql 8 的 yum 源,启用 mysql 5.7 的 yum 源
$ sudo vim /etc/yum.repos.d/mysql-community.repo
# 找到 [mysql57-community]
# 将 enabled=0 修改为 enabled=1
# 找到 [mysql80-community]
# 将 enabled=1 修改为 enabled=0
# 禁用 gpgcheck
$ sudo sed -i 's/gpgcheck=1/gpgcheck=0/g' /etc/yum.repos.d/mysql-community.repo
# 查看可安装的 mysql 社区免费版服务是否为 mysql 5.7
$ sudo yum list | grep mysql-community-server
# mysql-community-server.x86_64 5.7.31-1.el7 mysql57-community
3、安装 mysql 5.7
# 安装 mysql 5.7 服务端
# 会自动安装依赖库:mysql-community-client + mysql-community-common + mysql-community-libs
$ sudo yum install -y mysql-community-server
4、修改 mysql 5.7 配置
创建日志目录
$ sudo mkdir -p /home/logs/mysql \
&& sudo chmod 777 /home/logs \
&& sudo chown mysql:mysql /home/logs/mysql
配置文件(vim /etc/my.cnf)修改内容如下
[mysqld]
# 启动端口
port=3307
# 时区设置
default-time_zone = '+8:00'
# 数据目录(若目录不存在,则mysqld会自动创建)
datadir=/home/mysql_data
# 最大连接数
max_connections=500
# 错误日志(要确保msyql用户对/home/logs/mysql有写权限)
log-error = /home/logs/mysql/error.log
# 通用日志(默认关闭,可通过执行"SET GLOBAL general_log = ON;"动态开启以便调试)
general_log = OFF
general_log_file = /home/logs/mysql/general.log
# 打开binlog日志
server-id=1
log_bin=mysql-bin
binlog_format=ROW
# binlog日志保存7天,老的会被自动删除
expire_logs_days=7
# 禁用“ONLY_FULL_GROUP_BY”
sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
5、启动 mysqld
$ sudo systemctl start mysqld
$ sudo systemctl status|stop|restart mysqld
6、配置 mysqld 开机自启
$ sudo systemctl enable mysqld
7、设置 mysql root 用户的密码
# 查看 mysql 生成的临时随机密码
$ sudo grep 'temporary password' /home/logs/mysql/error.log
# 修改 root@localhost 密码
$ sudo mysql -uroot -p"PNWrystgl5?6"
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '<新密码>';
注:mysql5.6需用"mysql_secure_installation"命令完成mysql安装后的安全配置工作,但在mysql5.7以之后版本,不要执行此命令,因为mysql 5.7的安装过程中已经完成了相关的安全配置
参考:Do not run mysql_secure_installation after an installation of MySQL 5.7 or higher, as the function of the program has already been performed by the Yum repository installation.
8、新建 mysql 只读用户
# 新建只读用户
mysql > GRANT SElECT ON *.* TO 'readonly-user'@'localhost' IDENTIFIED BY "<密码>";
# 删除权限
mysql > FLUSH PRIVILEGES;
9、查看 mysql安装的相关文件
$ sudo yum list | grep mysql-community-server
$ sudo rpm -ql mysql-community-server.x86_64
# 配置文件:/etc/my.cnf | /etc/my.cnf.d
# systemd服务单元:/usr/lib/systemd/system/mysqld.service