前面写了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
如果为空,则直接跳到下一步安装,否则如下图
使用下面的命令卸载,使用 --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
查找 mysql 相关的目录,并删除
find / -name mysql
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 这几个关键字的安装包下载
点击Download跳转到下载页,右键复制链接
使用下面的命令下载并安装
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
安装完成后会在 /etc/yum.repos.d 目录多出两个文件:mysql-community.repo && mysql-community-source.repo
安装MySQL
使用下面的命令安装
yum install mysql-community-server
安装成功
设置 lower_case_table_names = 1 并启动服务
文章开头说了大小写敏感的问题,所以在启动 mysql 服务前先在配置文件里加上该配置项
vi /etc/my.cnf
在[mysqld]里面加上 lower_case_table_names=1
保存退出,启动MySQL服务
systemctl start mysqld.service
然后可以使用 systemctl status mysqld.service 查看mysql服务的状态
使用下面的命令查看临时密码
grep 'temporary password' /var/log/mysqld.log
mysql -uroot -p 使用临时密码登录mysql
这时候输入任何指令都会提示让修改密码
使用下面的命令修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
FLUSH PRIVILEGES;
如果密码简单则会提示不符合当前的安全策略
使用一个稍微复杂点的密码即可。
在mysql中执行查询
SELECT @@global.lower_case_table_names;
已经设置为大小写不敏感的了。
其他配置
其他的配置可以参考下面的文章