配置文件中加了default_authentication_plugin=mysql_native_password,但mysqld还是以caching_sha2_password运行的
时间: 2023-08-13 09:30:49 浏览: 70
如果你在 MySQL 的配置文件中添加了 `default_authentication_plugin=mysql_native_password`,但 mysqld 仍然以 `caching_sha2_password` 方式运行,可能是因为你没有将更改应用到 MySQL 的所有用户上。
你可以使用以下命令来更改 MySQL 用户的身份验证插件:
```
ALTER USER 'user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
```
其中,将 `user` 替换为你要更改的用户名,将 `localhost` 替换为适当的主机名或 IP 地址,将 `password` 替换为用户的密码。
请重复此命令,以将更改应用到所有 MySQL 用户上。
另外,如果你在更改配置文件后重启了 mysqld,但仍然没有看到更改,可能是因为你正在运行多个 MySQL 实例。在这种情况下,你需要找到正在运行的实例,并在该实例的配置文件中进行更改。
你可以使用以下命令来查找正在运行的 MySQL 实例:
```
ps aux | grep mysqld
```
请注意,每个 MySQL 实例都应该有自己的配置文件,因此你需要找到正在运行的实例,并在该实例的配置文件中进行更改。
相关问题
如何使用--default_authentication_plugin=mysql_native_password运行mysqld
要使用 `--default_authentication_plugin=mysql_native_password` 运行 `mysqld`,需要在启动命令中添加该参数。具体步骤如下:
1. 打开终端或命令行界面。
2. 进入 MySQL 安装目录。
3. 输入以下命令启动 `mysqld`:
```
./bin/mysqld --default_authentication_plugin=mysql_native_password
```
这样就可以使用 `mysql_native_password` 认证插件运行 `mysqld` 了。需要注意的是,如果之前已经有数据在使用 `caching_sha2_password` 认证插件,需要先将其转换为 `mysql_native_password`,否则将无法登录。
在mysql8.0中如何使用--default_authentication_plugin=mysql_native_password运行mysqld
在 MySQL 8.0 中,可以使用以下命令来使用 `--default_authentication_plugin=mysql_native_password` 运行 `mysqld`:
```
mysqld --default_authentication_plugin=mysql_native_password
```
如果你是在 Windows 系统中使用 MySQL 8.0,可以在命令提示符或 PowerShell 中输入以上命令来启动 `mysqld`。
注意:在 MySQL 8.0 中,默认的认证插件是 `caching_sha2_password`,所以如果你使用 `--default_authentication_plugin=mysql_native_password` 参数启动 `mysqld`,则需要创建一个用户并指定其认证插件为 `mysql_native_password`。例如:
```
CREATE USER 'myuser'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mypassword';
```
这将创建一个用户名为 `myuser`,密码为 `mypassword`,并使用 `mysql_native_password` 作为认证插件的用户。