Сегодня я видел, что MySQL/MariaDB прекращает работать на CentOS VPS. Когда я проверяю состояние, я добираюсь:
# service mysql status
ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists
Таким образом, я удаляю тот файл и затем перезапускаю сервис. Но затем позже в тот же день, MySQL будет в режиме офлайн снова, и файл блокировки будет там все еще. Таким образом, что-то происходит, который заставляет MySQL умирать, но оставлять файл блокировки, который говорит мне не чистый/гладкий выход.
В прошлом, когда я видел, что файл блокировки существует, но сервис, не выполняющий его, был причиной, весь VPS имел внезапную перезагрузку. Но это не имеет место здесь, потому что мое время работы равняется 160 + дни на VPS.
Я заметил fail2ban
запрет некоторого случайного взлома пытается на сайте Wordpress на VPS сегодня. Таким образом, было изрядное количество трафика, пытающегося ковать сервер тут и там, пока они не автозапрещаются.
ОБНОВЛЕНИЕ: После просмотра моего messages
журнал я вижу это:
Dec 1 14:06:42 localhost kernel: Out of memory: Kill process 25063 (mysqld) score 24 or sacrifice child
Dec 1 14:06:42 localhost kernel: Killed process 25063, UID 27, (mysqld) total-vm:773716kB, anon-rss:32300kB, file-rss:48kB
Таким образом, это означает, что MySQL просто перегружается с запросами (вероятно, от httpd)?
Убийца OOM сработал, когда система была из ОЗУ и подкачки - процесс mysqld
был выбран в качестве его жертвы, вероятно, из-за сочетания высокого использования ОЗУ и относительно низкой активности его ОЗУ.
Либо настройте доступный размер пула буферов на сделать так, чтобы MariaDB занимала меньше оперативной памяти и не запускала убийцу OOM (что может снизить производительность) или давать системе больше оперативной памяти или подкачки.