1,mysql8.0以上版本的默认加密方式是caching_sha2_password。
而 navicate 驱动目前不支持新加密规则,解决问题方法有两种,一种是升级 navicat 驱动,一种是把 mysql 用户登录密码加密规则还原成 mysql_native_password,这里我们将 mysql 规则修改回之前的 mysql_native_password。
2,修改命令:
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码' PASSWORD EXPIRE NEVER; # 修改加密规则
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码'; # 更新一下用户的密码
FLUSH PRIVILEGES; #刷新权限
3,如果执行命令报错:ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'
那么你需要查看一下user数据库
输入命令:
use mysql;
SELECT user.host,user.user FROM `user` ;