Linux Mysql8.0开启忽略表大小写后,无法启动,解决方案和查看MySQL默认密码或重置密码(转)

Linux Mysql8.0开启忽略表大小写后,无法启动,解决方案
mysql8.0默认是区分大小写。因此如果要设置忽略大小写,需要在安装完成之后,初始化数据库的时候进行设置。初始化完成之后在启动数据库,否则的话就会是无效的,未启动之前可以使用以下命令操作。

/usr/sbin/mysqld --initialize --user=mysql --lower-case-table-names=1
1
如果要是已经启动了数据库,在/etc/my.cnf配置文件中再去修改不区分大小写,就会造成数据库无法启动的情况。
如果出现这个情况,首先需要删除掉 /var/lib/mysql 文件夹下面的所有的文件,数据会被清除掉,有需要的备份所有表数据,密码也会被清除掉。再去修改配置文件my.cnf添加lower_case_table_names=1,在启动mysql。这样可以解决。

systemctl start mysqld.service
1
Linux MySQL查看默认密码
grep "A temporary password" /var/log/mysqld.log
1
上述查看可能的密码不正确(忘记密码也可以使用以下操作),可以使用以下操作。
vim /etc/my.cnf
1
在[mysqld]下加入 skip-grant-tables(这个意思是跳过权限验证,可免密码登录 ),然后保存退出,重启mysql。
登录

mysql -u root -p (回车,密码可不用输入继续回车即可)。

mysql> UPDATE user SET password=password("test123") WHERE user='root';
mysql> flush privileges;
1
2
如果抛出 Your password does not satisfy the current policy requirements 的错误(密码不符合规范),请查看下篇文章。
https://blog.csdn.net/weixin_43947102/article/details/123542528

编辑my.cnf文件删掉或者注释skip-grant-tables 这一行,然后重启MySQL,否则MySQL仍能免密码登录

mysql -u root -p输入密码
————————————————
版权声明:本文为CSDN博主「No码农」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43947102/article/details/123542826

posted on 2023-06-27 09:41  混元真人  阅读(1304)  评论(0)    收藏  举报