mysql8设置不区分大小写 - ubuntu20
问题
msyql8 默认是区分大小写的,在低版本比如 5.7等设置不区分大小写直接在
my.conf 的 [mysqld] 下添加
lower_case_table_names=1
重启mysql 服务即可
在8.0版本中,添加此配置会导致mysql服务重启失败
解决
1.删除 /var/lib/mysql
目录(做好数据备份)
2.修改配置文件/etc/mysql/my.conf
添加 lower_case_table_names=1
3.执行
sudo /usr/sbin/mysqld --initialize --user=root --lower-case-table-names=1
(执行此命令后会初始化数据库及配置,也会修改之前你修改的密码等)
4.查询最新root 密码:
grep "A temporary password" /var/log/mysql/error.log
5.登录数据库 mysql -u root -p
6.修改新的密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
以上亲自踩坑实践可行!!!
mysql8更改Mysql表的大小转换设置lower_case_table_names=1
试过设成0和2都没问题,就是无法设置成1.
查看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.
只有在初始化的时候设置 lower_case_table_names=1才有效,比如:
--initialize --lower-case-table-names=1
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。