重启后,mysql 无法启动。sudo service mysql start
给出的start: Job failed to start
结果和日志都是空的,所以我不知道从哪里开始。我很确定权限问题已经得到解决。
编辑:
所有磁盘至少有 1G 的空间,并sh -x /etc/init.d/mysql start
给我:
+ set -e
+ basename /etc/init.d/mysql
+ INITSCRIPT=mysql
+ JOB=mysql
+ [ mysql = upstart-job ]
+ [ -z start ]
+ COMMAND=start
+ shift
+ [ -z ]
+ ECHO=echo
+ echo Rather than invoking init scripts through /etc/init.d, use the service(8)
Rather than invoking init scripts through /etc/init.d, use the service(8)
+ echo utility, e.g. service mysql start
utility, e.g. service mysql start
+ echo
+ echo Since the script you are attempting to invoke has been converted to an
Since the script you are attempting to invoke has been converted to an
+ echo Upstart job, you may also use the start(8) utility, e.g. start mysql
Upstart job, you may also use the start(8) utility, e.g. start mysql
+ grep -q start/
+ status mysql
+ [ -z ]
+ [ start = stop ]
+ [ -n ]
+ start mysql
start: Rejected send message, 1 matched rules; type="method_call", sender=":1.105" (uid=1000 pid=3208 comm="start mysql ") interface="com.ubuntu.Upstart0_6.Job" member="Start" error name="(unset)" requested_reply="0" destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init")
答案1
此消息来自服务脚本,而不是来自 mysql。因此您必须查看脚本并找出失败的位置/原因。
通过调用 来实现sh -x /etc/init.d/mysqld start
。
注意:在某些问题上,比如这个问题,我没有看到任何“添加评论”。我只有添加答案的选项。我怎样才能添加评论?
答案2
这里也有同样的问题,对我来说,原因是文件my.cnf
已从 移动/etc/my.cnf
到/etc/mysql/my.cnf
,但仍然有一个指向 的“死”符号链接/etc/my.cnf
。
检查是否/etc/mysql/my.cnf
是符号链接:
user@machine:~ $ ls -l /etc/mysql/my.cnf
lrwxrwxrwx 1 root root 9 Jan 11 2011 /etc/mysql/my.cnf -> ../my.cnf
如果是符号链接,请检查目标文件是否存在。如果不存在,请删除符号链接并/etc/mysql/my.cnf
从中创建/etc/mysql/my.cnf.dpkg-new
或类似操作...如果有的话。
sudo unlink /etc/mysql/my.cnf
sudo mv /etc/mysql/my.cnf.dpkg-new /etc/mysql/my.cnf
PS:如果符号链接的目标存在,您可能需要检查dmesg | grep cnf
apparmor 错误消息。
答案3
如果 pid 文件仍然存在(例如崩溃后),则可能会出现此问题。请检查该文件,如果存在,请将其删除。
pid 文件位置默认为,/var/run/mysqld/mysqld.pid
但可以在配置文件中设置不同的位置。
答案4
我刚刚遇到了这种情况。文件系统已满
确认:df -h /