mysql8 caching-s,MySQL8.0登录连接报错caching_sha2_password解决方法

4ee5db3ddbf1efaf5d0ce795fb399cff.png

·MySQL8.0登录连接报错caching_sha2_password

#2054 - The server requested authentication method unknown to the client

mysqli_real_connect(): The server requested authentication method unknown to the client [caching_sha2_password]

mysqli_real_connect(): (HY000/2054): The server requested authentication method unknown to the client

·用docker构建mysql容器后连接报错caching_sha2_password

Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/usr/local/mysql/lib/plugin/caching_sha2_password.so, 2): image not found

mysqli_real_connect(): The server requested authentication method unknown to the client [caching_sha2_password]

mysqli_real_connect(): (HY000/2054): The server requested authentication method unknown to the client

一、已安装好的数据库

1.登录数据库

mysql -uroot -p

2.查看身份验证类型

mysql> use mysql;

Database changed

mysql> SELECT Host, User, plugin from user;

+-----------+------------------+-----------------------+

| Host | User | plugin |

+-----------+------------------+-----------------------+

| % | root | caching_sha2_password |

| localhost | mysql.infoschema | caching_sha2_password |

| localhost | mysql.session | caching_sha2_password |

| localhost | mysql.sys | caching_sha2_password |

| localhost | root | caching_sha2_password |

+-----------+------------------+-----------------------+

5 rows in set (0.00 sec)

root 用户的验证器插件为 caching_sha2_password

3.修改身份验证类型(修改密码)

mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

Query OK, 0 rows affected (0.00 sec)

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

Query OK, 0 rows affected (0.01 sec)

mysql> FLUSH PRIVILEGES;

4.验证是否生效

mysql> use mysql;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

mysql> SELECT Host, User, plugin from user;

+-----------+------------------+-----------------------+

| Host | User | plugin |

+-----------+------------------+-----------------------+

| % | root | mysql_native_password |

| localhost | mysql.infoschema | caching_sha2_password |

| localhost | mysql.session | caching_sha2_password |

| localhost | mysql.sys | caching_sha2_password |

| localhost | root | mysql_native_password |

+-----------+------------------+-----------------------+

5 rows in set (0.00 sec)

root用户的身份验证器插件已经变为mysql_native_password

二、第一次安装mysql或构建容器、新增用户

1.配置 mysql.cnf 配置默认身份验证插件(对于构建容器可以采用*2的办法)

[mysqld]

default_authentication_plugin = mysql_native_password

*2.构建容器的时候,指定身份验证插件

command: --default-authentication-plugin=mysql_native_password

0095059b0dd1ad91a63538b011f64ff5.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值