Почему команда в сценарии init.d игнорируется?

В рамках моей работы я управляю кластером mySQL, состоящим из 3 машин Ubuntu 14.04. Все 3 машины должны быть идентичны.

На машинах 1 и 2, когда я запускаю sudo service mysql status , я получаю отчет о состоянии с указанием времени безотказной работы и т. Д., Что эквивалентно выполнению / usr / bin / mysqladmin --defaults-file = / etc / mysql / debian.cnf версия . Такое поведение согласуется с файлом /etc/init.d/mysql, в котором есть запись:

'status')
    if mysqld_status check_alive nowarn; then
      log_action_msg "$($MYADMIN version)"
    else
      log_action_msg "MySQL (Percona Server) is stopped."
      exit 3
    fi
    ;;

(переменная $ MYADMIN соответствует той команде, которую я опубликовал ранее).

Однако машина номер 3 не ведет себя как этот. После запуска sudo service mysql status мне предоставляется стандартный ответ статуса Ubuntu, запуск / запуск mysql, процесс 2234 .

Файл /etc/init.d/mysql на компьютере 3 идентичен файлам на 1 и 2 (проверено с помощью vimdiff). Если я запустил команду mysqladmin вручную, она вернет ожидаемый результат.

Что дает? Есть ли что-то, что могло бы переопределить сценарий в init.d?

Хотя кластер, кажется, работает должным образом, мне не нравятся несоответствия в компьютерах ... заставляет меня чувствовать, что происходит что-то, о чем я не знаю .

Заранее благодарим за любую помощь, которую вы можете оказать.

0
задан 20 January 2016 в 23:10
1 ответ

Последний выглядит как демон, запущенный из systemd / upstart без уровня совместимости с SysV (сценарий init.d; сценарии init.d фактически устарели). Попробуйте проверить наличие файла / etc / init / mysql *.

0
ответ дан 5 December 2019 в 10:49

Теги

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