通过宝塔面板默认安装的MySQL8.0版本默认使用的身份认证插件是mysql_native_password,然后再错误日志里一直提示mysql_native_password' is deprecated and will be removed in a future release. Please use caching_sha2_password instead',所以通过下面的操作可以解决错误日志的警告,以及更换到性能更好的caching_sha2_password instead方式。

1. 检查当前用户插件
登录MySQL,执行以下SQL命令查看哪些用户仍使用mysql_native_password
mysql> SELECT user, host, plugin FROM mysql.user WHERE plugin = 'mysql_native_password';
+------+-----------+-----------------------+
| user | host | plugin |
+------+-----------+-----------------------+
| root | localhost | mysql_native_password |
+------+-----------+-----------------------+
1 row in set (0.00 sec)
2. 更新用户身份验证插件
对于每个列出的用户,执行以下命令将其更改为caching_sha2_password。我这里目前是新安装的MySQL,所以目前只有root这一个用户。如果你有多个,请一条一条修改。
#示例 ALTER USER '用户名'@'主机名' IDENTIFIED WITH caching_sha2_password BY '新密码';
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'e548561a19b03546';将上面的用户名 主机名和新密码替换为你自己的,新密码也可以保持原样。
3. 修改MySQL配置文件
- 编辑MySQL配置文件 (通常是
my.cnf或my.ini). 在
[mysqld]段落中添加或修改以下行来设置默认插件.default_authentication_plugin=caching_sha2_password
4. 重启MySQL服务
- 修改配置文件后,必须重启MySQL服务使更改生效.
- 如果不想重启的情况下,可以执行
FLUSH PRIVILEGES;来刷新用户信息和权限设置,立刻生效