MySQL 服务无法启动

MySQL 服务无法启动

在需要重置 MySQL 实例的 root 密码后,我重启了服务,并从中检索到以下错误mysqld.log

[System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.13) starting as process 3253
[ERROR] [MY-012592] [InnoDB] Operating system error number 2 in a file operation.
[ERROR] [MY-012593] [InnoDB] The error means the system cannot find the path specified.
[ERROR] [MY-012594] [InnoDB] If you are installing InnoDB, remember that you must create directories yourself, InnoDB does not create them.
[ERROR] [MY-012646] [InnoDB] File ./ibdata1: 'open' returned OS error 71. Cannot continue operation
[ERROR] [MY-012981] [InnoDB] Cannot continue operation.

从我在线阅读的内容来看,my.cnf我的(750)的目录权限/var/lib/mysql可能有问题。

我有点不适应,但我没有发现journalctl -xe或者systemctl status提供太多帮助。

我的my.cnf文件包含以下内容:

#bind-address=127.0.0.1
port=3306
#--skip_networking=0
#user=mysql
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
tmpdir = /var/lib/mysql/tmp

有人能帮助我排除故障,让我可以重新启动并运行它吗?

答案1

您的my.cnf文件看起来很正常,所以我猜它或多或少是一个默认包安装。

检查是否存在。它的权限应为 700,并且应由 MySQL 用户(可能)及其组/var/lib/mysql拥有。mysqlmysql

在该文件夹中,您应该找到一个ibdata1文件,该文件的权限660再次由该用户拥有和分组mysql

这是ibdata1MySQL找不到的文件。

记下所有现有的权限和所有者,以防需要将它们切换回来并尝试这两个命令:

chmod 700 /var/lib/mysql

chown -R mysql:mysql /var/lib/mysql/

您可能需要在这两个命令前面加上 sudo。

如果您找不到该文件夹​​或 ibdata1 文件,那么您遇到了其他问题。

相关内容