执行sudo mysql -u root -p -e 'select @@default_authentication_plugin;'发现还是caching_sha2_password
时间: 2024-04-22 22:27:25 浏览: 125
好的,你的第一个问题是关于MySQL的。你执行了以下命令:sudo mysql -u root -p -e 'select @@default_authentication_plugin;',发现默认的身份验证插件仍然是caching_sha2_password。我理解了你的问题,但是请问你还有其他问题需要我回答吗?
相关问题
我用了你之前的方法改完之后,执行sudo mysql -u root -p -e 'select @@default_authentication_plugin;'发现还是caching_sha2_password不是mysql_native_password
好的,我明白了你的问题。如果你已经按照之前的方法修改了MySQL的配置文件并重启了MySQL服务,但是执行sudo mysql -u root -p -e 'select @@default_authentication_plugin;'仍然显示caching_sha2_password而不是mysql_native_password,那么可能是修改没有生效或者你修改了错误的配置文件。
你可以尝试检查一下你修改的是正确的配置文件,以及在修改该配置文件后是否重启了MySQL服务。如果仍然无法解决问题,可以尝试重新安装MySQL,并且在安装过程中选择使用mysql_native_password作为默认的身份验证插件。
是caching_sha2_password,如何变成--default_authentication_plugin=mysql_native_password 方式运行
要将 MySQL 从 `caching_sha2_password` 身份验证插件更改为 `mysql_native_password`,请按照以下步骤操作:
1. 以管理员身份登录到 MySQL。
2. 运行以下命令来更改当前用户的身份验证插件为 `mysql_native_password`:
```
ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
```
其中,`username` 是您要更改身份验证插件的用户名,`localhost` 是与该用户关联的主机名,`password` 是用户的密码。
如果您要更改所有用户的身份验证插件,请使用以下命令:
```
ALTER USER 'username'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
```
其中,`%` 表示允许从任何主机连接到 MySQL。
3. 修改 MySQL 配置文件 `/etc/mysql/mysql.conf.d/mysqld.cnf`,将 `default-authentication-plugin` 的值更改为 `mysql_native_password`。
```
[mysqld]
...
default-authentication-plugin=mysql_native_password
...
```
4. 保存并关闭文件。
5. 重启 MySQL 服务:
```
sudo systemctl restart mysql
```
现在,MySQL 将使用 `mysql_native_password` 身份验证插件。请注意,如果您使用的是 MySQL 8.0 或更高版本,则默认身份验证插件是 `caching_sha2_password`,因此您可能需要执行此操作以便使用旧版本的身份验证插件。
阅读全文