远程连接MYSQL 8.0数据库时报错:ERROR 2059 (HY000): Authentication plugin ‘caching_sha2_password‘ cannot be load
AI-摘要
GPT
AI初始化中...
介绍自己
生成本文简介
推荐相关文章
前往主页
前往tianli博客
在远程服务器连接MYSQL 8.0数据库时出现如下错误:
ERROR 2059 (HY000): 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 8.0开始默认密码插件为caching_sha2_password,旧的客户端上面没有这个插件,所以报错。
解决思路有两种:
- 客户端安装插件;
- 修改MySQL账号使用native加密方式。
第一种方法:升级MySQL客户端到最新版本,让客户端支持MySQL8.0的插件。
第二种方法有两种实现方式,更具需要修改:
一是给单独指定用户修改native加密方式;
mysql> select user,host,plugin,authentication_string from mysql.user where user = 'user1' \G
*************************** 1. row ***************************
user: user1
host: %
plugin: caching_sha2_password
authentication_string: 4im8KHnanNPJwRDVAItRhIE4h1hWv0hAcTBW1HH1mp0P&/G
mysql> ALTER USER 'user1'@'%' IDENTIFIED WITH 'mysql_native_password' BY '**************';
Query OK, 0 rows affected (0.02 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> select user,host,plugin,authentication_string from mysql.user where user = 'user1' \G
*************************** 1. row ***************************
user: cindy
host: %
plugin: mysql_native_password
authentication_string: *8D9EF6E3AC0CD4EB7A1FF096D3141F60BFA6104F
1 row in set (0.00 sec)
二是直接修改MySQL服务端配置文件,默认使用native加密方式:
systemctl stop mysqld
#停止MySQL服务
vi /etc/my.cnf
#修改MySQL配置文件,打开下面这一行配置的注释,如果没有就自行添加上
default-authentication-plugin=mysql_native_password
#启动MySQL服务
systemctl start mysqld
使用这种方式修改了服务端默认配置以后,新创建的用户都默认使用native的验证方式,不需要在创建用户时单独指定mysql_native_password。
远程连接MYSQL 8.0数据库时报错:ERROR 2059 (HY000): Authentication plugin ‘caching_sha2_password‘ cannot be load
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 数智AI运维笔记
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果