Я установил MySQL и изменил конфигурацию, чтобы базы данных хранились на отдельном жестком диске. В процессе MySQL перестал запускаться автоматически. Когда я запускаю компьютер, мне нужно выполнить команду:
sudo service mysql start
, чтобы запустить MySQL. Как заставить MySQL запускаться при загрузке?
Извините, что я немного не в теме, угнав немного другую проблему здесь, чтобы найти решение для подобного случая. Так как я наткнулся на эту тему, пытаясь решить мою несколько связанную проблему, прошу прощения.
У меня были проблемы с запуском mysql в контейнере lxc под управлением Ubuntu 16.04. Я пробовал update-rc.d mysql defaults
и systemctl enable mysql.service
несколько раз, но mysql не запускался при загрузке. Не было даже записи в журнале о какой-то ошибке, которую нужно исправить.
Контейнер lxc получает свою сетевую конфигурацию через файл конфигурации lxc хоста, но по-прежнему настроен на запуск DHCP-клиента, включенного по умолчанию. Отключив DHCP в контейнере lxc, я случайно наткнулся на решение. По этой причине mysql не запускался, так как ожидал завершения работы DHCP-клиента. И DHCP не завершил работу из-за отсутствия какого-либо ответа от недоступной службы DHCP.
Итак, на тот случай, если вы наткнетесь на тот же вопрос здесь и окажетесь в подобной дилемме, попробуйте это: отредактируйте /etc/network/interfaces
и прочитайте строки комментария
auto eth0
iface eth0 inet dhcp
Введите эту команду:
sudo update-rc.d mysql defaults
До 14.04 Ubuntu использует upstart для init, поэтому мы должны проверить его конфигурацию: если /etc/init/mysql.override
существует и содержит manual
, то автоматический запуск mysql отключен.
Удалите .override и перезагрузите конфигурацию:
rm /etc/init/mysql.override
initctl reload-configuration
Сначала очистите старую конфигурацию запуска, затем напишите новую конфигурацию по умолчанию, чтобы избежать ошибки System start/stop links for /etc/init.d/mysql already exist
.
Выполнить с правами root:
update-rc.d -f mysql remove
update-rc.d mysql defaults