CentOS 7 安装 MySQL 8-程序旅途

前面写了CentOS 8 安装 MySQL 8.0 ,其中有提到 MySQL 8 和 7 关于大小写敏感不一样,在 CentOS 7 中安装 MySQL 8 也需要注意这个问题。

MySQL 的文档中提到

lower_case_table_names can only be configured when initializing the server. Changing the lower_case_table_names setting after the server is initialized is prohibited.

也就是MySQL初始化的时候指定 lower_case_table_names 才有效。

下面开始在CentOS 7 中安装 MySQL 8。

卸载已经安装的MySQL

使用下面的命令查看已经安装的MySQL

rpm -qa|grep -i mysql

如果为空,则直接跳到下一步安装,否则如下图

CentOS 7 安装 MySQL 8-程序旅途

使用下面的命令卸载,使用 --nodeps 选项,意思是不删除依赖项

rpm -e --nodeps mysql-community-common-8.0.20-1.el7.x86_64 mysql-community-client-8.0.20-1.el7.x86_64 mysql-community-server-8.0.20-1.el7.x86_64 mysql-community-libs-8.0.20-1.el7.x86_64 mysql-community-libs-compat-8.0.20-1.el7.x86_64

CentOS 7 安装 MySQL 8-程序旅途

查找 mysql 相关的目录,并删除

find / -name mysql

CentOS 7 安装 MySQL 8-程序旅途
rm -rf /etc/selinux/targeted/active/modules/100/mysql
rm -rf /var/lib/mysql
rm -rf /var/lib/mysql/mysql

安装 MySQL Repository

下载地址:https://dev.mysql.com/downloads/repo/yum/

找到el7 noarch.rpm 这几个关键字的安装包下载

CentOS 7 安装 MySQL 8-程序旅途

点击Download跳转到下载页,右键复制链接

CentOS 7 安装 MySQL 8-程序旅途

使用下面的命令下载并安装

wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

rpm -ivh mysql80-community-release-el7-3.noarch.rpm 

CentOS 7 安装 MySQL 8-程序旅途

安装完成后会在 /etc/yum.repos.d 目录多出两个文件:mysql-community.repo && mysql-community-source.repo

CentOS 7 安装 MySQL 8-程序旅途

安装MySQL

使用下面的命令安装

yum install mysql-community-server

安装成功

CentOS 7 安装 MySQL 8-程序旅途

设置  lower_case_table_names = 1 并启动服务

文章开头说了大小写敏感的问题,所以在启动 mysql 服务前先在配置文件里加上该配置项

vi /etc/my.cnf

在[mysqld]里面加上 lower_case_table_names=1

CentOS 7 安装 MySQL 8-程序旅途

保存退出,启动MySQL服务

systemctl start mysqld.service

然后可以使用 systemctl status mysqld.service 查看mysql服务的状态

CentOS 7 安装 MySQL 8-程序旅途

使用下面的命令查看临时密码

grep 'temporary password' /var/log/mysqld.log

CentOS 7 安装 MySQL 8-程序旅途

mysql -uroot -p 使用临时密码登录mysql

CentOS 7 安装 MySQL 8-程序旅途

这时候输入任何指令都会提示让修改密码

CentOS 7 安装 MySQL 8-程序旅途

使用下面的命令修改密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';

FLUSH PRIVILEGES;

如果密码简单则会提示不符合当前的安全策略

CentOS 7 安装 MySQL 8-程序旅途

使用一个稍微复杂点的密码即可。

在mysql中执行查询

SELECT @@global.lower_case_table_names;

CentOS 7 安装 MySQL 8-程序旅途

已经设置为大小写不敏感的了。

其他配置

其他的配置可以参考下面的文章

  1. CentOS 7 安装MySQL 7 并开启远程连接
  2. CentOS 8 安装 MySQL 8.0