Назад | Перейти на главную страницу

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

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

На машинах 1 и 2, когда я бегу sudo service mysql status, Я получаю отчет о состоянии с указанием времени безотказной работы и т. Д., Эквивалент запущенного /usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf version. Такое поведение согласуется с файлом /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 start/running, process 2234.

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

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

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

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

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