root@DESKTOP-0CU081I:/# mysqld --default_authentication_plugin=mysql_native_password mysqld: [Warning] World-writable config file '/etc/mysql/my.cnf' is ignored. 2023-06-05T10:03:19.501899Z 0 [Warning] [MY-010918] [Server] 'default_authentication_plugin' is deprecated and will be removed in a future release. Please use authentication_policy instead. 2023-06-05T10:03:19.501927Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.33-0ubuntu0.20.04.2) starting as process 394 2023-06-05T10:03:19.503362Z 0 [ERROR] [MY-010123] [Server] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root! 2023-06-05T10:03:19.503414Z 0 [ERROR] [MY-010119] [Server] Aborting 2023-06-05T10:03:19.503500Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.33-0ubuntu0.20.04.2) (Ubuntu)如何解决
时间: 2024-03-06 22:51:20 浏览: 135
这是一个关于 MySQL 的错误信息,提示你不能使用 root 用户来启动 MySQL 服务。解决方法是以非 root 用户身份启动 MySQL 服务。
可以使用以下命令来启动 MySQL 服务:
```
sudo systemctl start mysql
```
如果你已经以 root 用户身份启动了 MySQL 服务,可以使用以下命令来停止 MySQL 服务:
```
sudo systemctl stop mysql
```
然后再以非 root 用户身份启动 MySQL 服务。
相关问题
root@DESKTOP-0CU081I:/# sudo mysqld --default_authentication_plugin=mysql_native_password mysqld: [Warning] World-writable config file '/etc/mysql/my.cnf' is ignored. 2023-06-05T10:01:47.364773Z 0 [Warning] [MY-010918] [Server] 'default_authentication_plugin' is deprecated and will be removed in a future release. Please use authentication_policy instead. 2023-06-05T10:01:47.364802Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.33-0ubuntu0.20.04.2) starting as process 392 2023-06-05T10:01:47.366321Z 0 [ERROR] [MY-010123] [Server] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root! 2023-06-05T10:01:47.366408Z 0 [ERROR] [MY-010119] [Server] Aborting 2023-06-05T10:01:47.366507Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.33-0ubuntu0.20.04.2) (Ubuntu).
在上述命令中,出现了以下几个问题:
1. `default_authentication_plugin` 已经被标记为过时的参数,将来会被移除,应该使用 `authentication_policy` 参数来替代。
2. 该命令使用了 `sudo` 来以 root 权限运行 `mysqld`,但是 MySQL 官方强烈建议不要使用 root 用户来运行 `mysqld`。
3. 出现了一个致命错误,提示需要阅读 MySQL 手册中的 "Security" 部分来了解如何以 root 用户身份运行 `mysqld`。
因此,建议使用以下命令来启动 `mysqld`:
```
sudo systemctl start mysql
```
这将使用 MySQL 8.0 的默认配置启动 MySQL 服务。如果你需要指定 `authentication_policy` 参数,可以在 MySQL 配置文件中进行设置,例如在 `/etc/mysql/mysql.conf.d/mysqld.cnf` 文件中添加以下内容:
```
[mysqld]
authentication_policy = mysql_native_password
```
然后重新启动 MySQL 服务:
```
sudo systemctl restart mysql
```
这样就可以使用 `mysql_native_password` 认证插件来运行 MySQL 了。
root@DESKTOP-0CU081I:/# mysqld --default-authentication-plugin=mysql_native_password --user=exporter mysqld: [Warning] World-writable config file '/etc/mysql/my.cnf' is ignored. 2023-06-05T11:08:01.391847Z 0 [Warning] [MY-010918] [Server] 'default_authentication_plugin' is deprecated and will be removed in a future release. Please use authentication_policy instead. 2023-06-05T11:08:01.391876Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.33-0ubuntu0.20.04.2) starting as process 402 2023-06-05T11:08:01.393644Z 0 [ERROR] [MY-010124] [Server] Fatal error: Can't change to run as user 'exporter' ; Please check that the user exists! 2023-06-05T11:08:01.393700Z 0 [ERROR] [MY-010119] [Server] Aborting 2023-06-05T11:08:01.393788Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.33-0ubuntu0.20.04.2) (Ubuntu).怎么解决
这个错误是因为MySQL服务器无法切换到exporter用户。这可能是由于以下原因之一:
1. 用户exporter不存在。请确保您已经创建了一个名为exporter的用户,并且该用户存在于系统中。
2. 您没有足够的权限切换到exporter用户。请确保您有足够的权限以exporter用户身份运行mysqld进程。
您可以尝试使用以下命令解决此问题:
1. 检查exporter用户是否存在。如果不存在,请使用以下命令创建一个新用户:
```
sudo adduser exporter
```
2. 将exporter用户添加到mysql用户组中,以便它可以访问MySQL文件和目录:
```
sudo usermod -aG mysql exporter
```
3. 确保exporter用户拥有MySQL数据目录的所有权:
```
sudo chown -R mysql:mysql /var/lib/mysql/
```
4. 尝试使用以下命令以exporter用户身份启动MySQL服务器:
```
sudo -u exporter mysqld --default-authentication-plugin=mysql_native_password
```
如果这些步骤没有解决问题,请提供更多详细信息,例如您是如何创建exporter用户的,以及您运行mysqld命令的完整命令行。
阅读全文