Чем отличаются команды?

Вот первая – /etc/init.d/mysql start
Вот вторая – service mysql start
Чем они отличаются?
На VPS при запуске сервера выполняется service mysql start, но при этом mysql не работает (ошибка Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'). Приходится останавливать mysql и запускать через /etc/init.d/mysql start.
В чем отличие команд?
  • Вопрос задан
  • 497 просмотров
Решения вопроса 1
@mik222
service запускает System V init script в наиболее "предсказуемой" обстановке(удаляя большинство текущих переменных среды)
Фактически LANG и TERM единственные переменные которые передаются init скрипту.
----
Важно заметить, что /etc/init.d/ deprecated и в следующих мажорных версиях дистрибутивов не будут работать.
====
Т.е. используйте service. Посмотрите какие переменные у вас есть касательно MySql.
Та ошибка которую вы видите(насколько я знаю)
исправляется заменой пути с localhost на 127.0.0.1 в вашем клиенте(тем самым "заставляя" клиент коннектиться не через сокет, а через tcp)
В любом случае, покажите логи, можно что-то будет сказать.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Frankenstine
@Frankenstine
Сисадмин
Первая - старый синтаксис для /sbin/init (традиционный System V)
Вторая - синтаксис для более нового upstart.
В общем-то оба варианта уже устарели :)
В чём разница в скриптах вы можете посмотреть банальным текстовым редактором.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы