重新启动后,mysql将不会启动。 sudo service mysql start
给出start: Job failed to start
日志为空,所以我不知道从哪里开始。 我很确定权限问题是照顾。
编辑:
所有的磁盘至less有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, eg service mysql start utility, eg 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, eg start mysql Upstart job, you may also use the start(8) utility, eg 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")
这个消息来自服务脚本,而不是来自mysql。 所以你必须看脚本,并找出失败的原因。
通过调用sh -x /etc/init.d/mysqld start
。
注意:在这个问题上,我看不到任何“添加评论”。 我只能select添加答案。 我怎样才能添加评论?
同样的问题在这里,我的理由是, my.cnf
文件已经从/etc/my.cnf
移动到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.dpkg-new
创build/etc/mysql/my.cnf
或类似的东西…如果你有它。
sudo unlink /etc/mysql/my.cnf sudo mv /etc/mysql/my.cnf.dpkg-new /etc/mysql/my.cnf
PS:如果符号链接的目标是存在的,你可能要检查dmesg | grep cnf
dmesg | grep cnf
for apparmor错误消息。
如果该pid文件仍然存在,可能会发生此问题,例如崩溃之后。 检查并删除它,如果它存在。
pid文件位置默认为/var/run/mysqld/mysqld.pid
但可以在configuration文件中设置不同的位置。