配置文件中加了default_authentication_plugin=mysql_native_password,但mysqld还是以caching_sha2_password运行的
时间: 2023-08-13 08:30:49 浏览: 188
HMAC_SHA1.rar_hmac_sha1
如果在 MySQL 配置文件中设置了 `default_authentication_plugin=mysql_native_password`,但 MySQL 仍在以 `caching_sha2_password` 方式运行,则可能存在以下原因:
1. 配置文件路径不正确:请确保你正在编辑正确的配置文件。你可以使用 `mysqld --help --verbose` 命令来查看 MySQL 正在使用的配置文件路径。
2. 配置文件中没有正确设置:请确保在配置文件中正确设置了 `default_authentication_plugin=mysql_native_password` 选项。可以通过在 MySQL 中运行 `SHOW VARIABLES LIKE 'default_authentication_plugin';` 命令来检查默认身份验证插件是否已更改。
3. 用户身份验证插件未更改:即使你在配置文件中设置了 `default_authentication_plugin=mysql_native_password`,也需要更改每个用户的身份验证插件。你可以使用以下命令更改用户的身份验证插件:
```
ALTER USER 'user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
```
其中,将 `user` 替换为要更改的用户名,将 `localhost` 替换为相应的主机名或 IP 地址,将 `password` 替换为用户的密码。
4. MySQL 版本不支持 `mysql_native_password` 插件:`mysql_native_password` 插件仅适用于 MySQL 5.7 及更高版本。如果你的 MySQL 版本低于 5.7,则无法使用此插件,并且应该考虑升级到更高版本的 MySQL。
如果你已经检查了所有这些问题,并且 MySQL 仍在以 `caching_sha2_password` 方式运行,则建议检查 MySQL 的日志文件以获取更多信息。可以使用以下命令来查看 MySQL 错误日志:
```
sudo tail -f /var/log/mysql/error.log
```
请注意,日志路径可能因 Linux 发行版而异。
阅读全文