MySQL 服务无法启动

MySQL 服务无法启动

我刚刚重启了我的 Ubuntu 服务器,但不知为何 MySQL 却无法启动!我正在使用:

/etc/init.d/mysql start

我刚刚得到这个:

 * Starting MySQL database server mysqld                         [fail]

为什么会发生这种情况?Apache 正在运行,除了数据库连接之外,我的网站运行正常。MySQL 服务器通过 synaptic 正常安装。


我跑了:

sh -x /etc/init.d/mysql start

在输出中列出了以下内容:

+ echo -e 0 processes alive and '/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf ping' resulted in\n/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!\n

我跟着这里的建议用于创建.sock 文件,但没有成功。

(如果您需要我提供更多信息,请告诉我。)


更新:mysqld自从上面的输出提到它以来我就运行了它,并收到此错误:

100516 17:37:57  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.

知道它的意思吗?或者它指的是哪个文件?

答案1

成功!正如问题更新中提到的,运行时mysqld出现了一些错误。我找到了文件,并意识到整个/var/lib/mysql目录的所有者是错误的(root 而不是 mysql)。这是由于我进行了分区交换和文件移动。

于是我跑了:

chown -R mysql /var/lib/mysql/

然后运行mysqld常规 MySQL 启动命令就可以解决所有问题。

感谢所有提供帮助的人!

答案2

重新启动 mysql 运行

tail -f /var/log/syslog

并观察那里发生的情况。也许您的数据/日志分区上的磁盘空间已经不足了。

相关内容