error 2059: Authentication plugin ‘caching_sha2_password‘ cannot be loaded: /usr/lib64/mysql/plugin/

这篇具有很好参考价值的文章主要介绍了error 2059: Authentication plugin ‘caching_sha2_password‘ cannot be loaded: /usr/lib64/mysql/plugin/。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Mysql学习中,尝试远程登录报(2059)错误:(从虚拟机登录到本地的mysql8.0.26版本)

报错内容

error 2059: Authentication plugin ‘caching_sha2_password‘ cannot be loaded: /usr/lib64/mysql/plugin/

error 2059: Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory

操作内容

想要实现mysql的远程登录
我的尝试,从虚拟机登录到本地mysql

解决方法(针对mysql8.0后的版本)

方法一:
修改密码的加密方式,对后续的新建用户有效(在添加下述语句后,后续的新用户加密方式默认被改为了mysql_native_password),而前期的老用户默认密码加密方式还是(caching_sha2_password)
找到my.ini文件,在[mysqld]下添加

default_authentication_plugin=mysql_native_password

保存,重启mysql服务,重启mysql服务,重启mysql服务!!!!生效。
error 2059: Authentication plugin ‘caching_sha2_password‘ cannot be loaded: /usr/lib64/mysql/plugin/

老用户需要手动修改为mysql_native_password

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; #更新一下用户的密码
FLUSH PRIVILEGES; #刷新权限

方法二:
没有所谓的方法二,就跟上面的一样。不过是,创建一个新用户,指定加密方式,赋予所有权限,用新用户连接mysql(哈哈)

-- 创建用户名为hyl,设所有ip均可登录,密码root
create user hyl@'%' identified WITH mysql_native_password BY 'root';
-- grant给hyl赋予所有的库和表的权限。
grant all privileges on *.* to hyl@'%' with grant option;
-- 刷新
flush privileges;

错误原因

新版本的MySQL新特性导致,导致认证方式有问题。

MySQL8.0版本默认的认证方式是caching_sha2_password
error 2059: Authentication plugin ‘caching_sha2_password‘ cannot be loaded: /usr/lib64/mysql/plugin/

而在MySQL5.7版本则为mysql_native_password
error 2059: Authentication plugin ‘caching_sha2_password‘ cannot be loaded: /usr/lib64/mysql/plugin/

学到的知识

创建新用户: 其中username为自定义的用户名;host为登录域名,host为’%'时表示为 任意IP,为localhost时表示本机,或者填写指定的IP地址;paasword为密码

create user 'username'@'host' identified by 'password'; 

为用户授权: 其中*.第一个表示所有数据库,第二个表示所有数据表,如果只是部分授权那就把对应的写成相应数据库或者数据表;username为指定的用户;%为该用户登录的域名

grant 权限 on . to ‘username’@‘%’
grant 权限 on . to ‘username’@‘%’ identified by “密码”

grant all privileges on *.* to 'username'@'%' with grant option; 
  • *.*第一个 * 表示所有数据库,第二个 * 表示所有数据表
  • privileges(权限列表),可以是all priveleges, 表示所有权限,也可以是select、update等权限,多个权限的名词,相互之间用逗号分开。
  • on用来指定权限针对哪些库和表。
  • to 表示将权限赋予某个用户,@后面接限制的主机,可以是IP,IP段,域名以及%,%表示任何地方。
  • 注意:这里%有的版本不包括本地,以前碰到过给某个用户设置了%允许任何地方登录,但是在本地登录不了,这个和版本有关系,遇到这个问题再加一个localhost的用户就可以了。
  • WITH GRANT OPTION 这个选项表示该用户可以将自己拥有的权限授权给别人。

举例:

用户名:ad,密码:ad_pass,登陆ip:192.168.0.10
//用户在所有登陆ip的权限
grant all on *.* to 'ad'@'%' identified by "ad_pass";
  
//开放管理MySQL中所有数据库的权限
grant all on *.* to 'ad'@'192.168.0.10' identified by "ad_pass";

//开放管理MySQL中具体数据库(test)的权限
grant all privileges on test to 'ad'@'192.168.0.10' identified by "ad_pass";

//开放管理MySQL中具体数据库中的表(test.table1)的权限
grant all on test.table1 to 'ad'@'192.168.0.10' identified by "ad_pass"

//开放管理MySQL中具体数据库的表(test.table1)的部分列的权限
grant select(id,se,rank) on test.table1 to 'ad'@'192.168.0.10' identified by "ad_pass";

//开放管理操作指令
grant select,insert,update,delete on test.* to 'ad'@'192.168.0.10' identified by "ad_pass";

权限的收回

#收回权限(不包含赋权权限)
REVOKE ALL PRIVILEGES ON *.* FROM 'username'@'%';
#收回赋权权限
REVOKE GRANT OPTION ON *.* FROM 'username'@'%';

#操作完后重新刷新权限
flush privileges;

结果测试(用户‘ll’测试)

老用户采用默认的caching_sha2_password (登录失败)
error 2059: Authentication plugin ‘caching_sha2_password‘ cannot be loaded: /usr/lib64/mysql/plugin/

error 2059: Authentication plugin ‘caching_sha2_password‘ cannot be loaded: /usr/lib64/mysql/plugin/
修改 ‘ll’ 的加密方式为 mysql_native_password

ALTER USER 'll'@'%' IDENTIFIED WITH mysql_native_password BY 'root'; 

error 2059: Authentication plugin ‘caching_sha2_password‘ cannot be loaded: /usr/lib64/mysql/plugin/error 2059: Authentication plugin ‘caching_sha2_password‘ cannot be loaded: /usr/lib64/mysql/plugin/

总结

自己真的是菜的离谱,对于sql的DCL语句陌生的很,问题其实很简单,但是我还是花了好长时间才搞懂这么一丢丢。哎,继续加油~文章来源地址https://www.toymoban.com/news/detail-488662.html

到了这里,关于error 2059: Authentication plugin ‘caching_sha2_password‘ cannot be loaded: /usr/lib64/mysql/plugin/的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MYSQL解决“plugin caching_sha2_password could not be loaded”

    目录         1. 登录mysql         2.查看用户的密码规则,及对应host          3.修改加密规则及密码(注意:下面代码的 % 是对应host中的内容) 概述 “ plugin caching_sha2_password could not be loaded”,是无法加载插件缓存sha2密码, 在MySQL 8.0中,caching_sha2_password是默认的

    2024年02月07日
    浏览(35)
  • 远程连接MySQL错误“plugin caching_sha2_password could not be loaded”的解决办法sql连接乱码

    今天在阿里云租了一个服务器,当我用sqlyog远程连接mysql时,报了plugin caching_sha2_password could not be loaded错,即无法加载插件缓存sha2密码,但是我在cmd窗口就可以访问,在网上找了很多解决方法都没有解决,最后找到了原因。在MySQL 8.0中,caching_sha2_password是默认的身份验证插件

    2024年02月07日
    浏览(40)
  • 连接MySQL 8.0时报错caching_sha2_password解决方案

    由于我安装的mysql 8.0,8.0和5.x其中一个改动就是加密认证方式发生改变: caching_sha2_password是8.0 mysql_native_password是5.x 更改mysql的jdbc版本 直接在xx.pom修改版本号即可。 mysql jdbc的maven链接:http://mvnrepository.com/artifact/mysql/mysql-connector-java 比如:

    2024年02月11日
    浏览(39)
  • MySQL 8.0.31 登录提示caching_sha2_password问题解决方法

    MySQL 8.0.31 使用了 caching_sha2_password 作为默认的身份验证插件,这可能导致一些旧的客户端和库无法连接到服务器。以下是一些解决此类问题的常见步骤和建议: 确保MySQL服务正在运行:首先,确保你的MySQL服务器实例正在运行。你可以使用系统的服务管理工具来检查。 更新你

    2024年02月12日
    浏览(43)
  • Navicat连接mysql8.0:提示无法加载身份验证插件“caching_sha2_password”

    Navicat连接mysql时,提示:Unable to load authentication plugin ‘caching_sha2_password‘. 原因:mysql 8.0 默认使用 caching_sha2_password 身份验证机制。 更改过程: MYSQL8.0开启远程链接

    2024年02月09日
    浏览(48)
  • MGR新节点RECOVERING状态的分析与解决:caching_sha2_password验证插件的影响

    在GreatSQL社区上有一位用户提出了“手工构建MGR碰到的次节点一直处于recovering状态”,经过排查后,发现了是因为新密码验证插件 caching_sha2_password 导致的从节点一直无法连接主节点,帖子地址:(https://greatsql.cn/thread-420-2-1.html)) 本文验证环境,以及本文所采用数据库为 Gre

    2024年02月09日
    浏览(39)
  • Sqlyog 无法连接 8 版本的mysql caching_sha2_password could not be loaded

    近期系统对Mysql 版本进行了升级,由原来的 5.7升至 8版本,在现场使用Sqlyog 作为数据库连接软件时,发现连接失败。 使用Sqlyog配置完连接信息后点击连接,报错: MySQL 8.0中修改了默认的密码加密方式,使用了caching_sha2_password加密方式,对于Sqlyog老版本不支持该方式,从13.

    2024年02月06日
    浏览(46)
  • 使用pymysql报错RuntimeError ‘cryptography‘ package is required for sha256_password or caching_sha2_passw

    使用pymysql连接MySql数据库报错RuntimeError: 该错误提示的意思是:sha256_password和caching_sha2_password两种加密方式需要cryptography。 所以只需要安装一下cryptography包就可以了: 安装完成后,重新执行, 就ok了。

    2024年02月08日
    浏览(49)
  • Geth --- Error: authentication needed: password or unlock

    Error: authentication needed: password or unlock   在调用sendTransaction()进行转账时报错,意思是用户未解锁。   新用户默认是上锁的,交易前需要先解锁。   如下图,解锁要交易的两个用户   解锁后再交易,交易提交成功。   参考链接: https://blog.miuyun.work   如有不对,烦请指出,

    2024年02月13日
    浏览(33)
  • [git push error] remote: Support for password authentication was removed on August 13, 2021.

    自从 2021-08-13 之后, Github 将不再支持使用 “用户名 + 密码” 的方式提交代码,执行 git push 之后将会看到如下错误。 目前支持的方式有这些: OAuth 、 SSH Key 或者 GitHub App installation token SSH Key 的方式首先需要在本地生成一个 SSH Key 密钥,然后将在本地生成的一个公钥添加到

    2024年02月07日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包