Недавно я переключился с MySQL на MariaDB на хостинг веб-сайта WP. Все прошло гладко, я даже заметил прирост скорости (что могло быть просто плацебо;). С тех пор MariaDB начала умирать регулярно примерно раз в неделю - две.
Когда я возвращаюсь на сервер, у меня есть следующее:
user@myserver:~# service mysql status
MariaDB is stopped.
Но когда я захожу в журналы, они пусты. Понятия не имею, как это отладить. Любая подсказка, как отследить, как и почему умирает MariaDB, мне поможет!
Возможно, вашему серверу не хватает памяти, и OOM-убийца убивает процесс MariaDB.
Чтобы проверить, является ли он убийцей OOM, выполните следующие действия:
grep -i oom / var / log / messages
и grep -i oom / var / log / syslog
dmesg | grep -o oom
после обнаружения сбоя / остановки MariaDB. Если grep
что-то найдет, скорее всего, OOM-убийца убивает процесс вашей базы данных.
ОБНОВЛЕНИЕ: судя по расследованию Ральфа, кажется, что оскорбительный процесс - это / usr / lib / php / sessionclean
. См. Отчет об ошибке здесь
Благодаря @shodanshok я нашел проблему. Отслеживание / var / log / syslog вокруг сбоя Я регулярно обнаруживал это до сбоя:
Apr 30 22:09:01 servername CRON[3818]: (root) CMD ( [ -x /usr/lib/php/sessionclean ] && /usr/lib/php/sessionclean)
Apr 30 22:09:01 servername CRON[3819]: (root) CMD ( [ -x /usr/lib/php5/sessionclean ] && /usr/lib/php5/sessionclean)
Оказывается, это известная проблема, когда cron очистки сеанса занимает много ресурсов и убивает MySQL / MariaDB. Больше информации здесь: https://bugs.launchpad.net/ubuntu/+source/php5/+bug/1356113