发表于 2020-12-14 10:31:27 by 月小升
情况:
MYSQL8 的密码机制导致了大量的软件无法连接
1.导致Navicat无法连接MySQL8.0的
2.Sequel Pro无法连接mysql8
3.php 5.6 的原来代码也连接不上了,显示数据库无法连接(看来要用php7)
提示客户端过期
原因
MySQL 8.0 版本去除了 password 字段,改用 authentication_string 字段,导致网上可以搜到的各种问题的各种解决方法完全没有效果;同时还更改了加密方式,之前版本的加密方式是「mysql_native_password」,8.0 之后的加密规则更改为「caching_sha2_password 」,这里需要把用户密码加密规则更改为原来的加密方式即可。
解决mysql8.0密码无法登陆的办法
修改my.cnf
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
default_authentication_plugin=mysql_native_password
重启动mysql
打开终端,输入命令
mysql -u root -p
use mysql;
修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mypassword';
刷新权限
flush privileges;
This entry was posted in
数据库 and tagged
mysql,
mysql8. Bookmark the
permalink.
月小升QQ 2651044202, 技术交流QQ群 178491360
首发地址:
月小升博客 –
https://java-er.com/blog/mysql8-password/
无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢
您的评论是我写作的动力.