在需要重置 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
拥有。mysql
mysql
在该文件夹中,您应该找到一个ibdata1
文件,该文件的权限660
再次由该用户拥有和分组mysql
。
这是ibdata1
MySQL找不到的文件。
记下所有现有的权限和所有者,以防需要将它们切换回来并尝试这两个命令:
chmod 700 /var/lib/mysql
chown -R mysql:mysql /var/lib/mysql/
您可能需要在这两个命令前面加上 sudo。
如果您找不到该文件夹或 ibdata1 文件,那么您遇到了其他问题。