Mysql8.0启动时出现ERROR: Different lower_case_table_names settings for server ('1') and data dictionary ('0').

分析:出现这个原因数据库启动后,调整lower_case_table_names参数导致的这个问题。mysql8.0之后,lower_case_table_names 配置必须在安装好 MySQL 后,初始化mysql 配置时才有效。一旦 mysql 启动后,再设置是无效的,而且启动报错。

lower_case_table_names=1 表示 mysql 是不区分大小写的

lower_case_table_names=0 表示 mysql 是区分大小写的

解决:

1、 不调整此值,在配置文件中注释掉这个参数

2、 重新初始化数据库

[root@ott-cdn-02 ~]# systemctl stop mysqld
[root@ott-cdn-02 ~]# rm -f /var/log/mysql
[root@ott-cdn-02 lib]# rm -rf /var/lib/mysql
[root@ott-cdn-02 lib]# mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql --basedir=/var/lib/mysql --datadir=/var/lib/mysql  # 重新初始化mysql
[root@ott-cdn-02 lib]# systemctl start mysqld   #  启动mysql
[root@ott-cdn-02 ~]# grep "temporary password" /var/log/messages   # 查找mysql初始密码
[root@ott-cdn-02 ~]# mysql -u root -p"4kw/iv.uopfU"   # 登录mysql
mysql> ALTER USER USER() IDENTIFIED BY 'Hello123+';   # 更改密码
mysql> flush privileges;
mysql> quit;
[root@ott-cdn-02 ~]# mysql -u root -pHello123+ 

 

posted @ 2024-09-27 17:25  杨灏  阅读(2086)  评论(0编辑  收藏  举报