报错Starting MySQL.2023-07-13T07:40:40.042113Z mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'. ERROR! The server quit without updating PID file (/var/lib/mysql/master.pid).怎么办
时间: 2023-09-24 16:04:02 浏览: 106
这个报错提示是由于 MySQL 无法找到指定的日志文件,并且无法更新 PID 文件导致的。解决此问题的步骤如下:
1. 确保 `/var/log/mariadb/` 目录存在并且具有适当的权限。如果该目录不存在,请创建它并设置正确的权限。可以使用以下命令完成:
```shell
sudo mkdir /var/log/mariadb/
sudo chown mysql:mysql /var/log/mariadb/
```
2. 检查 MySQL 配置文件(通常位于 `/etc/mysql/my.cnf` 或 `/etc/my.cnf`)中的 `log-error` 参数是否正确设置为 `/var/log/mariadb/mariadb.log`。可以使用文本编辑器打开配置文件进行检查。
3. 如果上述步骤都正确,但问题仍然存在,可能是由于其他权限问题导致。您可以尝试重新启动 MySQL 服务以查看是否解决问题。可以使用以下命令重新启动 MySQL 服务:
```shell
sudo service mysql restart
```
如果问题仍然存在,请提供更多详细信息,例如操作系统和 MySQL 版本,以便我可以提供更具体的帮助。
相关问题
怎么解决?2023-07-21 07:03:53+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.21-1debian10 started. 2023-07-21 07:03:53+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql' 2023-07-21 07:03:53+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.21-1debian10 started. 2023-07-21T07:03:54.226667Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.21) starting as process 1 2023-07-21T07:03:54.242300Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started. 2023-07-21T07:03:54.443918Z 1 [ERROR] [MY-012961] [InnoDB] Only one log file found 2023-07-21T07:03:54.444791Z 1 [ERROR] [MY-012930] [InnoDB] Plugin initialization aborted with error not found. 2023-07-21T07:03:54.875895Z 1 [ERROR] [MY-010334] [Server] Failed to initialize DD Storage Engine 2023-07-21T07:03:54.876215Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed. 2023-07-21T07:03:54.876336Z 0 [ERROR] [MY-010119] [Server] Aborting 2023-07-21T07:03:54.876924Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.21) MySQL Community Server - GPL.
要解决这个问题,您可以尝试以下解决方法:
1. 检查MySQL的配置文件(通常是my.cnf或my.ini),确保日志文件的设置正确。
2. 验证所需的日志文件是否存在,并且MySQL服务器进程可以访问它们。
3. 确保所需的插件已安装并正确配置。
4. 检查MySQL数据目录或日志文件是否存在权限问题。
5. 查看最近对MySQL服务器配置或插件进行的任何更改或更新。
通过解决这些潜在原因,您可能能够解决问题并成功初始化MySQL服务器。如果问题仍然存在,请提供更多详细信息,以便我能够提供更准确的帮助。
[root@localhost mysql]# cat error.log 2023-07-21T07:25:07.195878Z 0 [Warning] [MY-011070] [Server] 'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it' is deprecated and will be removed in a future release. 2023-07-21T07:25:07.196309Z 0 [System] [MY-010116] [Server] /home/mysql/bin/mysqld (mysqld 8.0.20) starting as process 7336 2023-07-21T07:25:07.296969Z 1 [ERROR] [MY-011011] [Server] Failed to find valid data directory. 2023-07-21T07:25:07.297505Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed. 2023-07-21T07:25:07.297705Z 0 [ERROR] [MY-010119] [Server] Aborting 2023-07-21T07:25:07.300061Z 0 [System] [MY-010910] [Server] /home/mysql/bin/mysqld: Shutdown complete (mysqld 8.0.20) MySQL Community Server - GPL.
根据您提供的错误日志内容,可以看出存在以下问题:
1. 警告信息:MySQL服务器正在使用已经被弃用的选项 "--skip-symbolic-links",建议不要使用该选项。
2. 错误信息1:找不到有效的数据目录。这可能是由于您配置的数据目录路径不正确或数据目录不存在导致的。请检查my.cnf(或my.ini)文件中的datadir参数,并确保该目录存在并且具有正确的权限。
3. 错误信息2:数据字典初始化失败。这可能是由于数据目录问题导致的。请确保数据目录正确配置,并且MySQL用户具有读写权限。
根据以上信息,建议您执行以下步骤来解决问题:
1. 检查my.cnf(或my.ini)文件中datadir参数的值是否正确,并确保指定的目录路径存在。
2. 检查MySQL用户对数据目录是否具有适当的权限。您可以使用以下命令来更改权限:
```
sudo chown -R mysql:mysql /home/mysql/data/
```
3. 如果您在安装MySQL之前已经创建了数据目录,请确保数据目录中没有任何残留文件,并且目录本身具有正确的权限。
请尝试上述步骤,并检查是否能够解决问题。如果问题仍然存在,请提供更多详细信息,以便我们能够更好地帮助您。
阅读全文