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

Настройте Monit для удаления /var/lib/mysql/mysql.sock после внезапного выключения машины Centos6.5

У меня есть Monit, отслеживающий Mysql. Когда машина внезапно выключается, например, сбой питания, mysqld не может быть перезапущен, если /var/lib/mysql/mysql.sock удален из-за ошибки Другой демон MySQL уже работает с тем же сокетом unix. Какова правильная конфигурация, чтобы Monit удалял файл при загрузке?

Я шучу, что тебе стоит просто купить UPS... Но защитить сервер от внезапного отключения питания довольно просто. Базовый ИБП может предоставить вам это.

Если это не варианты (поскольку я не знаю контекста среды и ограничений), вы уверены, что хотите, чтобы сервер и службы запускались автоматически после серьезного сбоя без ручного вмешательства? Если так...

Измените сценарий запуска в команде запуска Monit. Например:

check process mysqld
    with pidfile "/var/run/mysqld.pid"
    start program = "/sbin/service mysqld start"
    stop program = "/sbin/service mysqld stop"

Вместо использования сценария запуска mysqld напишите сценарий оболочки, который проверяет наличие /var/lib/mysql/mysql.sock файл.

Или, может быть, просто запустите команду /sbin/service mysqld restart, поскольку это запускает stop() за которым следует start(). В сценарии инициализации команда stop удаляет файл sock.