一、备份Mysql数据库
- 注意:修改大小写不敏感需要重新初始化mysql,相当于“恢复出厂设置”,所以一定要备份好重要的数据库。
二、停止Mysql服务
- 在修改配置之前,请先把mysql服务停止,执行命令如下:
systemctl stop mysql.service
三、删除错误日志
- 为了方便查看 mysql 的错误日志,可以先将 /var/log/mysqld.log 删除。此处路径按照当前配置的路径来,命令如下:
rm /var/log/mysqld.log
四、删除系统数据库与用户数据库
# 切到mysql数据目录
cd /var/lib/mysql
# 删除下边的所有内容
rm * -rf
五、配置添加(重要!!!)
- 如果需要区分大小写,需要在
/etc/mysql/mysql.conf.d/mysqld.cnf
中添加配置来忽略大小写:lower_case_table_names=1
六、初始化Mysql
- 执行如下命令初始化 mysql 数据库:
mysqld --defaults-file=/etc/mysql/my.cnf --initialize --user=mysql --basedir=/var/lib/mysql --datadir=/var/lib/mysql
七、启动Mysql服务
systemctl start mysql.service
八、登陆Mysql客户端
- 由于上面执行了 MySql 初始化操作,曾经的密码已经不能用了。MySQL 将在初始化过程中创建临时密码,临时密码存储在 /var/log/mysql/mysqld.log 中。
- 查找临时密码
- 使用 cat 和 grep 命令配合查找,命令如下:
cat /var/log/mysql/error.log | grep root --color
-
使用临时密码登陆Mysql,依次输入下面命令:
# 登录mysql mysql -uroot -p # 输入临时密码完成登录
修改root用户密码(密码改成自己想要的,尽量复杂一点)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';
-
查看Mysql8大小写敏感问题是否生效,需登陆Mysql。
mysql> show global variables like '%lower_case%';