После перезапуска mysql не запускается. sudo service mysql start
дает start: Job failed to start
а журналы пусты, поэтому я не знаю, с чего начать. Я почти уверен, что проблемы с разрешениями решены.
Редактировать:
На всех дисках есть не менее 1 ГБ свободного места и 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")
Это сообщение исходит от служебного сценария, а не от mysql. Поэтому вам нужно посмотреть на сценарий и понять, где / почему он не работает.
Сделайте это, позвонив sh -x /etc/init.d/mysqld start
.
Примечание: по некоторым вопросам, таким как этот, я не вижу «добавить комментарий». У меня есть только возможность добавить ответ. Как я могу просто добавить комментарий?
Здесь та же проблема, для меня причина была в том, что 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
P.S: Если цель символической ссылки существует, вы можете проверить dmesg | grep cnf
для сообщений об ошибках apparmor.
Эта проблема может возникнуть, если файл pid все еще существует, например, после сбоя. Проверьте это и удалите, если он существует.
Расположение файла pid по умолчанию: /var/run/mysqld/mysqld.pid
но в файле конфигурации можно указать другое местоположение.
Это случилось со мной. Файловая система была заполнена на 100%
Подтвердите с помощью: df -h /