С нескольких недель, что я добавил сайт Wordpress к своему серверу (лампа), которая выполняет некоторых другой, веб-сайт mysql продолжает отказывать время от времени. Журнал mysql содержит:
InnoDB: Cannot allocate memory for the buffer pool
Который указывает, что у меня нет достаточной памяти.
Сервер имеет поршень на 1 ГБ и если я прав, что он содержит подкачку на 2 ГБ:
innodb_buffer_pool_size = 128.0M
Трафик в сервере является низким, приблизительно 150 посетителей в день, объединенный для веб-сайтов.
Я знаю, что мог понизить inno_db_buffer_size, но что dosnt решают использование верхней памяти.
Я подозреваю, что Wordpress причина, так как это запустилось после добавления сайта Wordpress. Как я могу обнаружить причину ошибки избежать mysql от катастрофического отказа.
Повторитесь после меня:
MySQL не отказывает.
Это - общее условие, и "катастрофический отказ" является распространенным заблуждением..., но в действительности, MySQL почти наверняка уничтожаемый системой из-за серьезного условия низкой памяти, обычно вызываемого Apache.
sudo egrep 'kernel|oom' /var/log/syslog
Примечание, что это не катастрофический отказ:
InnoDB: Cannot allocate memory for the buffer pool
Это - MySQL, не могущий перезапускать даже при том, что он пытается восстановиться, будучи уничтоженным, потому что там все еще не 128 МБ свободной памяти на сервере, из-за апачских детей, использующих все это.
После перезагрузки, никто не соединился с Вашим веб-сайтом, таким образом, проблемы памяти не стало.
Видят https://dba.stackexchange.com/a/25083/11651
, Вам нужно больше памяти, или необходимо выполнить Apache и MySQL на различных машинах, или необходимо настроить Apache для требования меньшей памяти при загрузке.
И из любви к, который является хорошим и правильным, никогда использование mysqltuner или что-либо подобное. Они высказывают предположения, они дают плохой совет, и они не Ваш друг. Значения по умолчанию MySQL отпуска как они