Как определить причину сбоя MySQL (сервера Percona) на Linux?

Как определить причину сбоя MySQL (сервера Percona) на Linux?

Я использую версию Percona MySQL Server v5.6, и каждые несколько дней MySQL, похоже, падает, а затем автоматически перезапускается. Как мне выяснить причину сбоя? Я видел, как у других людей MySQL неожиданно останавливался, и, похоже, это было связано с проблемами памяти, но в их случаях журнал ошибок упоминает об этом. В моем случае в файле журнала ничего не появляется, пока он не перезапускается.

Я включаю соответствующий файл журнала ниже с последней "ожидаемой" ошибкой, а затем то, что он регистрирует при перезапуске MySQL. Он состоит из различных предупреждений "Unsafe statementwritten to the binary log" до сбоя, но я не думаю, что они являются причиной сбоя. (Я скоро обновлю операторы, чтобы не использовать конструкцию, ON DUPLICATE KEYчтобы остановить их и не дать журналу переполняться. Я также должен упомянуть, что я не занимаюсь репликацией, поэтому не думаю, что они слишком важны в данный момент.)

Сервер представляет собой 64-битную версию Centos 6.6, работающую на виртуальной машине (Virtuozzo).

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

Файл журнала ниже:

2018-03-19 08:39:51 21476 [Предупреждение] Небезопасный оператор, записанный в двоичный журнал с использованием формата оператора, поскольку BINLOG_FORMAT = STATEMENT. INSERT... ON DUPLICATE KEY UPDATE для таблицы с более чем одним UNIQUE KEY является небезопасным Оператор: INSERT INTO xxxx ON DUPLICATE KEY UPDATE xxxx
180319 08:39:52 mysqld_safe Количество запущенных сейчас процессов: 0
180319 08:39:52 mysqld_safe mysqld перезапущен
2018-03-19 08:39:53 0 [Предупреждение] TIMESTAMP с неявным значением DEFAULT устарел. Используйте серверную опцию --explicit_defaults_for_timestamp (подробнее см. в документации).
2018-03-19 08:39:53 20217 [Предупреждение] Использование уникального префикса опции myisam-recover вместо myisam-recover-options устарело и будет удалено в будущем выпуске. Пожалуйста, используйте вместо этого полное имя.
2018-03-19 08:39:53 20217 [Примечание] Плагин «FEDERATED» отключен.
2018-03-19 08:39:53 20217 [Примечание] InnoDB: использование атомарных операций для подсчета ссылок на страницы пула буферов
2018-03-19 08:39:53 20217 [Примечание] InnoDB: куча памяти InnoDB отключена
2018-03-19 08:39:53 20217 [Примечание] InnoDB: Мьютексы и rw_locks используют встроенные атомарные функции GCC
2018-03-19 08:39:53 20217 [Примечание] InnoDB: барьер памяти не используется
2018-03-19 08:39:53 20217 [Примечание] InnoDB: сжатые таблицы используют zlib 1.2.3
2018-03-19 08:39:53 20217 [Примечание] InnoDB: использование собственного Linux AIO
2018-03-19 08:39:53 20217 [Примечание] InnoDB: использование инструкций CPU crc32
2018-03-19 08:39:53 20217 [Примечание] InnoDB: Инициализация буферного пула, размер = 3,0 ГБ
2018-03-19 08:39:54 20217 [Примечание] InnoDB: завершена инициализация буферного пула
2018-03-19 08:39:54 20217 [Примечание] InnoDB: наивысший поддерживаемый формат файла — Barracuda.
2018-03-19 08:39:54 20217 [Примечание] InnoDB: сканирование журнала прошло после контрольной точки lsn 123717382274
2018-03-19 08:39:54 20217 [Примечание] InnoDB: База данных не была нормально завершена!
2018-03-19 08:39:54 20217 [Примечание] InnoDB: Начало восстановления после сбоя.
2018-03-19 08:39:54 20217 [Примечание] InnoDB: Чтение информации о табличном пространстве из файлов .ibd...
2018-03-19 08:39:54 20217 [Примечание] InnoDB: Восстановление возможных наполовину записанных страниц данных
2018-03-19 08:39:54 20217 [Примечание] InnoDB: из буфера двойной записи...
InnoDB: Выполнение восстановления: сканирование до номера последовательности журнала 123717811056
InnoDB: транзакция 790235434 находилась в состоянии подготовки XA.
InnoDB: 1 транзакция(и), которые необходимо откатить или очистить
InnoDB: всего 0 операций со строками для отмены
InnoDB: счетчик идентификаторов Trx равен 790235904
2018-03-19 08:39:55 20217 [Примечание] InnoDB: Начинается пакетное применение записей журнала к базе данных...
InnoDB: Прогресс в процентах: 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 7
InnoDB: Применение пакета завершено
InnoDB: Последняя позиция файла binlog MySQL 0 697177863, имя файла mysql-bin.000227
InnoDB: Запуск в фоновом режиме отката незавершенных транзакций
2018-03-19 08:39:56 20217 [Примечание] InnoDB: активны 128 сегментов отката.
2018-03-19 08:39:56 7f481bd03700 InnoDB: Откат неподготовленных транзакций завершен
2018-03-19 08:39:56 20217 [Примечание] InnoDB: Ожидание начала очистки
2018-03-19 08:39:56 20217 [Примечание] InnoDB: Percona XtraDB (http://www.percona.com) 5.6.22-71.0 запущен; номер последовательности журнала 123717811056
2018-03-19 08:39:56 20217 [Примечание] Восстановление после сбоя с помощью /var/lib/mysql/mysql-bin
2018-03-19 08:46:36 20217 [Примечание] Запуск восстановления после сбоя...
2018-03-19 08:46:36 7f491ce677e0 InnoDB: Начало восстановления для транзакций XA...
2018-03-19 08:46:36 7f491ce677e0 InnoDB: Транзакция 790235434 в подготовленном состоянии после восстановления
2018-03-19 08:46:36 7f491ce677e0 InnoDB: Транзакция содержит изменения в 1 строках
2018-03-19 08:46:36 7f491ce677e0 InnoDB: 1 транзакция в подготовленном состоянии после восстановления
2018-03-19 08:46:36 20217 [Примечание] Найдено 1 подготовленная транзакция(и) в InnoDB
2018-03-19 08:46:36 20217 [Примечание] Восстановление после сбоя завершено.
2018-03-19 08:46:36 20217 [Примечание] Файл закрытого ключа RSA не найден: /var/lib/mysql//private_key.pem. Некоторые плагины аутентификации не будут работать.
2018-03-19 08:46:36 20217 [Примечание] Файл открытого ключа RSA не найден: /var/lib/mysql//public_key.pem. Некоторые плагины аутентификации не будут работать.
2018-03-19 08:46:36 20217 [Примечание] Имя хоста сервера (адрес привязки): '*'; порт: 3306
2018-03-19 08:46:36 20217 [Примечание] IPv6 доступен.
2018-03-19 08:46:36 20217 [Примечание] - «::» преобразуется в «::»;
2018-03-19 08:46:36 20217 [Примечание] Сокет сервера создан на IP: '::'.
2018-03-19 08:46:37 20217 [Примечание] Планировщик событий: Загружено 0 событий
2018-03-19 08:46:37 20217 [Примечание] /usr/sbin/mysqld: готов к подключениям.
Версия: «5.6.22-71.0-log» сокет: «/var/lib/mysql/mysql.sock» порт: 3306 Percona Server (GPL), выпуск 71.0, редакция 726
2018-03-19 08:46:38 20217 [Предупреждение] Небезопасный оператор, записанный в двоичный журнал с использованием формата оператора, поскольку BINLOG_FORMAT = STATEMENT. INSERT... ON DUPLICATE KEY UPDATE для таблицы с более чем одним UNIQUE KEY является небезопасным Оператор: INSERT INTO xxxx ON DUPLICATE KEY UPDATE xxxx

Редактировать: Согласно вопросу @impimp в комментариях, вот содержание/var/log/messages

18 марта 04:02:22 ИМЯ ХОСТА rsyslogd: [origin software="rsyslogd" swVersion="5.8.10" x-pid="474" x-info="http://www.rsyslog.com"] rsyslogd был HUPed
19 марта 08:39:52 HOSTNAME ядро: [103311785.405884] Недостаточно памяти в UB 650543: OOM завершил процесс 21476 (mysqld) оценка 0 vm:6363484kB, rss:4024500kB, swap:45536kB
20 марта 09:17:35 HOSTNAME ядро: [103400050.711461] Недостаточно памяти в UB 650543: OOM завершил процесс 20217 (mysqld) оценка 0 vm:6382720kB, rss:4066652kB, swap:0kB

Связанный контент