[mysqld] default_authentication_plugin=mysql_native_password skip-authentication-socket
时间: 2024-02-02 07:03:01 浏览: 312
这个配置文件部分是用来在 MySQL 8.0 中使用旧的身份验证插件 `mysql_native_password` 的。同时,由于 MySQL 8.0 引入了 `auth_socket` 身份验证插件,该插件使用当前登录用户的系统凭据进行身份验证,因此可能与某些应用程序不兼容。
因此,为了在 MySQL 8.0 中使用旧的身份验证插件,需要在配置文件中添加以下内容:
```
[mysqld]
default_authentication_plugin=mysql_native_password
skip-authentication-socket
```
其中,`default_authentication_plugin` 用于指定默认的身份验证插件为 `mysql_native_password`,`skip-authentication-socket` 则用于禁用 `auth_socket` 身份验证插件。
需要注意的是,这种更改可能会影响 MySQL 的安全性,因此在进行更改之前,请确保你已经了解了相关的安全风险,并采取了适当的措施来保护你的系统和数据库。
相关问题
mysqld是什么,在Ubuntu20.04下如何查看mysqld的运行方式是否是以default_authentication_plugin=mysql_native_password运行,如果不是,如何让它以default_authentication_plugin=mysql_native_password方试运行
mysqld 是 MySQL 数据库服务器的守护进程。要查看 mysqld 的运行方式是否是以 `default_authentication_plugin=mysql_native_password` 方式运行,可以执行以下步骤:
1. 打开终端并使用以下命令登录到 MySQL:
```
mysql -u root -p
```
这将要求你输入 MySQL root 用户的密码。
2. 一旦你登录到 MySQL,输入以下命令来查看当前的身份验证插件:
```
SELECT Host, User, plugin FROM mysql.user;
```
如果你看到 `mysql_native_password` 插件,则说明它已经被设置为默认的身份验证插件。如果没有,请继续执行以下步骤。
3. 要将 `default_authentication_plugin` 设置为 `mysql_native_password`,请编辑 MySQL 配置文件。在 Ubuntu 20.04 上,MySQL 配置文件位于 `/etc/mysql/mysql.conf.d/mysqld.cnf`。
```
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
```
4. 在 `[mysqld]` 部分中添加以下行:
```
default_authentication_plugin = mysql_native_password
```
保存并关闭文件。
5. 重新启动 mysqld 服务以使更改生效:
```
sudo systemctl restart mysql
```
6. 再次登录到 MySQL 并运行以下命令,以查看身份验证插件是否已更改:
```
SELECT Host, User, plugin FROM mysql.user;
```
现在,你应该会看到 `mysql_native_password` 插件被设置为默认的身份验证插件。
在Ubuntu20.04下的mysql8.0中如何让mysqld以default_authentication_plugin=mysql_native_password运行
在 Ubuntu 20.04 下的 MySQL 8.0 中,您可以通过以下步骤让 mysqld 以 `default_authentication_plugin=mysql_native_password` 运行:
1. 停止 MySQL 服务:
```
sudo systemctl stop mysql
```
2. 修改 MySQL 配置文件 `/etc/mysql/mysql.conf.d/mysqld.cnf`,在 `[mysqld]` 节点下添加一行:
```
default_authentication_plugin=mysql_native_password
```
3. 保存并关闭配置文件。
4. 启动 MySQL 服务:
```
sudo systemctl start mysql
```
现在,mysqld 将以 `default_authentication_plugin=mysql_native_password` 运行。请注意,如果您选择了其他身份验证插件,则需要相应地更改 `default_authentication_plugin` 的值。
阅读全文