Спецификации:
Серверная версия MySQL: 5.5.43-0ubuntu0.14.04.1 (Ubuntu)
Сервер Ubuntu 14.04 LTS
Файл конфигурации MySQL по умолчанию
Вопрос:
Даже после пребывания в течение долгого времени я не могу выяснить, почему я не могу запустить mysqld через mysqld_safe.
MySQLDocs заявляют что:
mysqld_safe является рекомендуемым способом запустить mysqld сервер на Unix и NetWare. mysqld_safe добавляет некоторые функции безопасности, такие как перезапуск сервера, когда ошибка происходит и регистрирующий информацию о выполнении к файлу регистрации ошибок.
Кроме того, я понимаю, что mysqld_safe является некоторой оберткой вокруг mysqld. Когда вызов mysqld_safe это попытается запустить mysqld.
Как вызвать mysqld_safe?
Существует нет init-script
в /etc/init.d
именованный mysqld_safe
. Только сценарий называют mysqld
.
Поэтому
sudo service mysqld start
передачи запускаются непосредственно к /etc/init.d/mysqld
. Где в /etc/init.d/mysqld
это перешло бы к case start
выполнение:
# Start MySQL!
/usr/bin/mysqld_safe > /dev/null 2>&1 &
Но mysqld_safe теперь работает или нет?
ps -aux | grep my
дает следующий вывод:
mysql 31168 0.0 4.2 318348 43648 ? Ssl 14:35 0:03 /usr/sbin/mysqld
и нет
mysql 31168 0.0 4.2 318348 43648 ? Ssl 14:35 0:03 /usr/sbin/mysqld_safe
Почему?
Как я могу запустить mysqld через mysqld_safe, поскольку я хочу сделать правильный путь а не ленивый путь как ''А-ч, забыть это.. по крайней мере, это работает''.
Я хочу изучить что-то..
mysqld_safe
процесс "ангела", который контролирует MySQL и перезапускает его, когда он перестал работать.
Тот путь это было реализовано первоначально. Некоторые дистрибутивы теперь начинают справляться с процессами самостоятельно, и не запускайте mysqld_safe
.
В Ubuntu 14.04 Вы можете для выполнения sudo /etc/init.d/mysql start
вместо sudo service mysql start
, чтобы некоторые mysql ветвления смогли выполнить mysqld_safe. (т.е. некоторые опции, например, jemalloc использовал mysqld_safe).
mysqld_safe
просто сценарий для запуска mysqld
демон. Это выходит, как только демон в порядке, именно поэтому Вы не видите, что mysqld_safe работает с ps
. Вы видели бы его, тем не менее, если бы Вы были очень быстры.