已验证!mysql8.0已经初始化后调整lower-case-table-names=1参数
1.关闭数据库
service mysqld stop
2.导出所有数据
mysqldump -uroot -p -A > all.sql
3.修改配置文件/etc/my.cnf,在[mysqld]下添加
lower-case-table-names=1
4.删除数据库存储数据的目录(删除之前一定要做备份,全库备份,当然cp -av /var/lib/mysql /var/tmp/ 拷贝一份也可以)
rm -rf /var/lib/mysql
5.初始化数据库,一定要带参数,会在/var/lib/mysql下生成文件(一开始是没有的)
mysqld --initialize --user=mysql --lower-case-table-names=1
6.记录生成的随机密码
grep "password" /var/log/mysqld.log
7.启动mysql
systemctl start mysqld.service
8.登录mysql
mysql -uroot -p
输入上面的密码
9.修改root@localhost的密码
alter user 'root'@'localhost' identified by 'XXXXXXXXX';
flush privileges;
10.导入数据
mysql -uroot -pXXXXXXXXX<all.sql
验证:
show variables like 'lower_case_table_names';