2059-Authentication plugin‘caching_sha2_password‘cannot be loaded

2059-Authentication plugin’caching_sha2_password’cannot be loaded

2059-Authentication plugin‘caching_sha2_password‘cannot be loaded_第1张图片

原因

由于目前已有的客户端连接软件还不支持Mysql8新增加的加密方式:caching_sha2_password

老的加密验证方式:mysql_native_password

解决方式

1、打开MySQL 8.0 Command Line Client,控制面板搜索即可搜到,打开即可

2、输入密码

2059-Authentication plugin‘caching_sha2_password‘cannot be loaded_第2张图片

3、输入以下命令

在这里插入图片描述

其实就是一句更改mysql密码的sql,新的密码可以是原来的密码,比如我的密码原来是123456,更改改之后还是123456 ,虽然一样,但他会用新的加密方式加密

ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY '123456';

在这里插入图片描述

结果

重新打开mysql,点击localhost ,连接成功

2059-Authentication plugin‘caching_sha2_password‘cannot be loaded_第3张图片

更改加密方式原因

参考文章链接:https://www.cnblogs.com/olinux/p/13201497.html
mysql添加对身份验证插件(mysql_native_password)的支持,他的原理是使用SHA1哈希算法将密码存储到mysql.user表中验证用户,可以在不发送实际密码的情况下,快速验证用户身份,但是缺点也很明显

  • 使用许多(数千轮)哈希加密
  • 容易破解,随着技术的发展,SHA1和其他哈希算法的前身(例如MD5)已被证明非常容易破解。
  • 密码的转换必须使用盐(增加的因素)
    为了解决这些缺点,从 MySQL8.0.4 开始,默认身份验证插件从 mysql_native_password 更改为 caching_sha2_password
    两种加密方式对比(从网上复制的,人家写的很详细)

2059-Authentication plugin‘caching_sha2_password‘cannot be loaded_第4张图片

总而言之,caching_sha2_password增强了密码抵御恶意破解的能力,同时,出于安全考虑,很多市场上常见的软件,不再使用sha1,md5和弱密码验证用于用户密码加密。比如我们常用的微信,要求了密码长度,字母加数字相结合等等

你可能感兴趣的:(代码报错,mysql,数据库)