码迷,mamicode.com
首页 > 其他好文 > 详细

authentication plugin caching_sha2_password cannot be loaded

时间:2018-07-22 00:32:36      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:with   客户端   driver   bsp   ati   行修改   use   user   需要   

最近下载新的MySQL8.0 来使用的时候, 通过sqlyog、或者程序中连接数据库时,提示:Authentication plugin ‘caching_sha2_password‘ cannot be loaded 的错误,经查看发现,8.0改变了 身份验证插件 , 打开 my.ini (或者my.cofg) 可以看到变更了 5.7及其以前的方式: mysql_native_password

解决 
Authentication plugin ‘caching_sha2_password’ cannot be loaded 的方法,可以往你的连接工具、或者程序应用显示指定身份验证方式,或者直接改为以前的版本方式: 
你可以使用如下方式:

这里root的密码改为hovertree,使用老版本的身份验证插件方式: 
ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY ‘hovertree’;

 

  先来解释一下为什么会报这个错,在mysql8之前的版本使用的密码加密规则是mysql_native_password,但是在mysql8则是caching_sha2_password。

  解决方案有很多,我是创建了一个新用户,并指定加密规则为:mysql_native_password,这样的话,仅需要执行以下语句即可:

create user ‘your username‘@‘%‘ identified with mysql_native_password by ‘your password‘

  也可以直接修改my配置文件,将默认密码规则设置为mysql_native_password,刷新权限并重置root密码即可。

default_authentication_plugin=mysql_native_password

  如果想用新的caching_sha2_password也是可以的,java的话mysql已经推出了新的mysql-connector-java包,引入后,驱动使用com.mysql.cj.jdbc.driver即可,这个方案本地试了。没有问题。

 

在安装mysql8的时候如果选择了密码加密,之后用客户端连接比如navicate,会提示客户端连接caching-sha2-password,是由于客户端不支持这种插件,可以通过如下方式进行修改:

     #修改加密规则  
    ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘password‘ PASSWORD EXPIRE NEVER; 
    #更新密码(mysql_native_password模式)    
    ALTER USER ‘root‘@‘localhost‘ IDENTIFIED WITH mysql_native_password BY ‘Hovertree‘;

其中 Hovertree 为新密码

authentication plugin caching_sha2_password cannot be loaded

标签:with   客户端   driver   bsp   ati   行修改   use   user   需要   

原文地址:https://www.cnblogs.com/hlhx/p/mysqlsha2.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!