主机MySQL/容器内MySQL 毗连出现 Authentication plugin ‘caching_sha2_pa ...

打印 上一主题 下一主题

主题 647|帖子 647|积分 1941

出现这个原因是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 解决题目方法有两种,一种是升级navicat驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password. 
1. 升级MySQL版本

较早的MySQL版本可能不支持caching_sha2_password插件。实验升级到较新的MySQL版本,以支持该插件。
2. 修改用户的身份验证插件:

如果无法升级MySQL版本,可以实验修改用户的身份验证插件。可以使用以下命令修改用户的身份验证插件:
 
  1. ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
复制代码
 其中,'username'是要修改的用户名,'localhost'是要修改的主机名,'password'是用户的密码。
处理如下:

1、WIN+R进入cmd,登入mysql


2、修改账户密码加密规则(改用户的身份验证插件

  1. ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;   #修改加密规则 
  2. ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';   #更新一下用户的密码 
  3. FLUSH PRIVILEGES;   #刷新权限
复制代码

3、测试毗连


3. 创建新用户:

如果无法修改用户的身份验证插件,可以实验创建一个新用户并使用mysql_native_password插件举行身份验证。可以使用以下命令创建新用户:
  1. CREATE USER 'new_username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
复制代码
   然后,将权限授予新用户并使用新用户举行毗连。
4. 修改MySQL设置文件:

在MySQL的设置文件中,可以将默认的身份验证插件设置为mysql_native_password。打开MySQL的设置文件(通常是my.cnf或my.ini),找到[mysqld]部门,并添加以下行:
  1. default_authentication_plugin=mysql_native_password
复制代码
   保存并重新启动MySQL服务。
5、毗连容器内搭建的mysql数据库出现类型题目


这样就不行了;
   必要更换localhost为%
  1. # 远程连接请将'localhost'换成'%'
  2. ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #更改加密方式
  3. ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'your password'; #更新用户密码
  4. FLUSH PRIVILEGES; #刷新权限
复制代码
这样就可以毗连乐成;

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

美丽的神话

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表