- 原因:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 解决问题方法有两种,一种是升级navicat驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password。本次讲解第二种方法
- 进入到mysql:
mysql -u root -p
use mysql
- 查看加密方式:
select user, host, plugin, authentication_string from user;
。如果
- user:现在mysql都有哪些用户名,如root
- host:为该用户开放的ip,如%表示所有IP均可访问,可以是’localhost’(仅本机访问,相当于127.0.0.1),可以是具体的’...’(具体某一IP)
- plugin:插件,即加密规则,新的mysql都是caching_sha2_password
- authentication_string:加密后的密码
- 修改连接root用户的加密方式及密码:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
。该命令中root是用户名;%就是访问的主机;password新修改的密码,可自定义。同样的也可以把root@localhost的加密方式进行更改。如果执行该命令无效,可以在执行该命令前先执行下ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
用来修改加密规则。 - 测试navacat是否连接成功,如果不成功,刷新权限
FLUSH PRIVILEGES;
- 最后,还可以再单独修改下密码(也可以不修改,因为上面已经修改过了):
alter user 'root'@'%' identified by '111111';
navicat无法连接mysql及mysql改密(Authentication plugin ‘caching_sha2_password‘ cannot be loaded)
猜你喜欢
转载自blog.csdn.net/weixin_43178406/article/details/120021651
今日推荐
周排行