MySQL завершен со статусом 1?

Сегодня утром я заметил, что мой сервер MySQL не работает. Посмотрите журналы, и я нашел информацию ниже. Хотя тревожно, что службе mysqld не хватило памяти и она была убита, более тревожно, что mysql не может перезапуститься.

Любые идеи о том, почему MySQL не мог возродиться? Как я могу проверить, чтобы убедиться, что если процесс будет убит, он возродится?

Спасибо.

387 Oct 10 06:37:09 ip-xxx-xxx-xxx-xxx kernel: [12218775.475042] Out of memory: Kill process 810 (mysqld) score 232 or sacrifice child
388 Oct 10 06:37:09 ip-xxx-xxx-xxx-xxx kernel: [12218775.475060] Killed process 810 (mysqld) total-vm:888108kB, anon-rss:139816kB, file-rss:0kB
389 Oct 10 06:37:09 ip-xxx-xxx-xxx-xxx kernel: [12218775.655663] init: mysql main process (810) killed by KILL signal
390 Oct 10 06:37:09 ip-xxx-xxx-xxx-xxx kernel: [12218775.655745] init: mysql main process ended, respawning
391 Oct 10 06:37:10 ip-xxx-xxx-xxx-xxx kernel: [12218776.044805] type=1400 audit(1381408630.181:13): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/mysqld" pid=27754 comm="apparmor_parser"
392 Oct 10 06:37:10 ip-xxx-xxx-xxx-xxx kernel: [12218776.676434] init: mysql main process (27763) terminated with status 1
393 Oct 10 06:37:10 ip-xxx-xxx-xxx-xxx kernel: [12218776.676489] init: mysql main process ended, respawning
394 Oct 10 06:37:11 ip-xxx-xxx-xxx-xxx kernel: [12218777.468923] init: mysql post-start process (27764) terminated with status 1
395 Oct 10 06:37:11 ip-xxx-xxx-xxx-xxx kernel: [12218777.512363] type=1400 audit(1381408631.649:14): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/mysqld" pid=27800 comm="apparmor_parser"
396 Oct 10 06:37:11 ip-xxx-xxx-xxx-xxx kernel: [12218777.681433] init: mysql main process (27804) terminated with status 1
397 Oct 10 06:37:11 ip-xxx-xxx-xxx-xxx kernel: [12218777.681491] init: mysql respawning too fast, stopped

3 ответа

Решение

http://ubuntuforums.org/showthread.php?t=1475798

возможно, проблема с циклическим скриптом

Я бы попробовал бежать mysqld непосредственно в команде, и глядя на вывод. Это может быть, например, повреждение InnoDB, приводящее к остановке сразу после нереста, и в этот момент upstart может попытаться возродиться до apparmour останавливает это

Старый вопрос, но повторяющийся вопрос. Вопрос имеет два лица:

  • во-первых, почему процессу mysql не хватает памяти?
  • во-вторых, почему процесс mysql не может начаться снова?

Первый - это что-то, связанное с перебором в конфигурации. Большая конфигурация буфера может заставить mysql запрашивать больше памяти, чем может предоставить система. Проверьте этот вопрос, чтобы получить представление о том, как найти наиболее подходящий для вашей среды.

Вторая проблема может быть очень хитрой. Существует множество возможностей для проблем, которые могут помешать запуску mysql. Следующие шаги могут быть выполнены, чтобы выяснить причину. Первый ключ можно найти в файле ошибок журнала mysql, в большинстве случаев в /var/log/mysql/error.log Однако, несмотря на природу проблемы, файл журнала ошибок может быть пустым. В этом случае попробуйте:

  1. загляни в системный журнал: в терминальной подсказке

    type tail -f /var/log/syslog
    

    и в другом терминале попробуйте запустить mysql:

    service start mysql
    

Если этот подход не дает никакой полезной подсказки, попробуйте следующее:

  1. Запустите mysqld из raw в подробном режиме:

    su mysql
    mysqld -v
    

как показано здесь.

Выходные сообщения могут быть полезны, чтобы выяснить причину, которая мешает запуску mysql.

Другие вопросы по тегам