navicat无法连接mysql及mysql改密(Authentication plugin ‘caching_sha2_password‘ cannot be loaded)

  • 原因: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';

猜你喜欢

转载自blog.csdn.net/weixin_43178406/article/details/120021651