Постоянно останавливается MySQL сервер
Постоянно останавливается MySQL сервер
Здравствуйте!
Подскажите, пожалуйста, в чем может быть причина регулярного падения MySQL сервера. Раз в несколько дней.
Debian 8, x64
VPS 1 Гиг
Nginx+Php-fpm
service mysql restar не запускает мускул. Пишет "Job for mysql.service failed. See 'systemctl status mysql.service' and 'journalctl -xn' for details."
Вот текст лог файла, перед тем как сервер остановился:
Вот настройки файла my.cnf
Ранее очень много оперативки жрал антивирус, clamav-daemon который запустился при перезапуске, я его отключил, но проблема не решилась.
На сервере размещено несколько сайтов на WordPress, все кроме одного имеют практически нулевую посещаемость, один сайт в лучшие дни имеет 2к в сутки. Стоит плагин SuperCache.
Падает сервер все время под утро. Може ли быть, что это связано с созданием бекапов?
Заранее спасибо за помощь!
Подскажите, пожалуйста, в чем может быть причина регулярного падения MySQL сервера. Раз в несколько дней.
Debian 8, x64
VPS 1 Гиг
Nginx+Php-fpm
service mysql restar не запускает мускул. Пишет "Job for mysql.service failed. See 'systemctl status mysql.service' and 'journalctl -xn' for details."
Вот текст лог файла, перед тем как сервер остановился:
Code: Select all
160329 06:53:21 mysqld_safe Number of processes running now: 0
160328 06:53:21 mysqld_safe mysqld restarted
160328 6:53:21 [Note] /usr/sbin/mysqld (mysqld 5.5.47-0+deb8u1) starting as process 8008 ...
160328 6:53:21 [Note] Plugin 'FEDERATED' is disabled.
160328 6:53:21 InnoDB: The InnoDB memory heap is disabled
160328 6:53:21 InnoDB: Mutexes and rw_locks use GCC atomic builtins
160328 6:53:21 InnoDB: Compressed tables use zlib 1.2.8
160328 6:53:21 InnoDB: Using Linux native AIO
160328 6:53:21 InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
160328 6:53:21 InnoDB: Completed initialization of buffer pool
160328 6:53:21 InnoDB: Fatal error: cannot allocate memory for the buffer pool
160328 6:53:21 [ERROR] Plugin 'InnoDB' init function returned error.
160328 6:53:21 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
160328 6:53:21 [ERROR] Unknown/unsupported storage engine: InnoDB
160328 6:53:21 [ERROR] Aborting
160328 6:53:21 [Note] /usr/sbin/mysqld: Shutdown complete
160328 06:53:22 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
160328 09:11:28 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
160328 9:11:28 [Note] /usr/sbin/mysqld (mysqld 5.5.47-0+deb8u1) starting as process 16557 ...
160328 9:11:28 [Note] Plugin 'FEDERATED' is disabled.
160328 9:11:28 InnoDB: The InnoDB memory heap is disabled
160328 9:11:28 InnoDB: Mutexes and rw_locks use GCC atomic builtins
160328 9:11:28 InnoDB: Compressed tables use zlib 1.2.8
160328 9:11:28 InnoDB: Using Linux native AIO
160328 9:11:28 InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
160328 9:11:28 InnoDB: Completed initialization of buffer pool
160328 9:11:28 InnoDB: Fatal error: cannot allocate memory for the buffer pool
160328 9:11:28 [ERROR] Plugin 'InnoDB' init function returned error.
160328 9:11:28 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
160328 9:11:28 [ERROR] Unknown/unsupported storage engine: InnoDB
160328 9:11:28 [ERROR] Aborting
160328 9:11:28 [Note] /usr/sbin/mysqld: Shutdown complete
160328 09:11:28 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
160328 09:12:55 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
"/var/log/mysql/error.log" 64L, 3827C
Code: Select all
[client]
port=3306
socket=/var/run/mysqld/mysqld.sock
[mysqld_safe]
socket=/var/run/mysqld/mysqld.sock
[mysqld]
user=mysql
pid-file=/var/run/mysqld/mysqld.pid
socket=/var/run/mysqld/mysqld.sock
port=3306
basedir=/usr
datadir=/var/lib/mysql
tmpdir=/tmp
lc-messages-dir=/usr/share/mysql
log_error=/var/log/mysql/error.log
symbolic-links=0
skip-external-locking
key_buffer_size = 16K
max_allowed_packet = 1M
table_open_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 240K
#innodb_use_native_aio = 0
innodb_file_per_table
max_connections=20
max_user_connections=20
wait_timeout=10
interactive_timeout=50
long_query_time=5
#my
"/etc/mysql/my.cnf" 54L, 931C
На сервере размещено несколько сайтов на WordPress, все кроме одного имеют практически нулевую посещаемость, один сайт в лучшие дни имеет 2к в сутки. Стоит плагин SuperCache.
Падает сервер все время под утро. Може ли быть, что это связано с созданием бекапов?
Заранее спасибо за помощь!
Re: Постоянно останавливается MySQL сервер
В логах ругается на это:r2d2 wrote:Подскажите, пожалуйста, в чем может быть причина регулярного падения MySQL сервера. Раз в несколько дней.
Fatal error: cannot allocate memory for the buffer pool
mysql поджирает под себя память (резервирует, более верный термин) вне зависимости от посещаемости ваших сайтов. Умерьте аппетиты этой прожорливой скотинки.r2d2 wrote:На сервере размещено несколько сайтов на WordPress, все кроме одного имеют практически нулевую посещаемость, один сайт в лучшие дни имеет 2к в сутки. Стоит плагин SuperCache. Падает сервер все время под утро. Може ли быть, что это связано с созданием бекапов?
Re: Постоянно останавливается MySQL сервер
Code: Select all
innodb_buffer_pool_size = 10M
Немного копипасты:
innodb_buffer_pool_size — не менее важная настройка, но уже для InnoDB, обязательно обратите на неё внимание, если собираетесь использовать в основном InnoDB-таблицы, т.к. они значительно более чувствительны к размеру буфера, чем MyISAM-таблицы. MyISAM-таблицы в принципе могут неплохо работать даже с большим количеством данных и при стандартном значении key_buffer_size, однако mySQL может сильно «тормозить» при неверном значении innodb_buffer_pool_size. InnoDB использует свой буфер для хранения и индексов, и данных, поэтому нет необходимости оставлять память под кэш ОС — устанавливайте innodb_buffer_pool_size в 70-80% доступной оперативной памяти (если, конечно, используются только InnoDB-таблицы). Относительно максимального размера данной опции — аналогично key_buffer_size — не стоит увлекаться, нужно найти оптимальный размер, найдите лучшее применение доступной памяти.
Re: Постоянно останавливается MySQL сервер
Спасибо за совет! Но к сожалению, даже после внесенного изменения, сервер все равно остановился.
А можно ли написать скрипт, который будет перезапускать сервер при падении MySQL? возможно ли такое, в принципе?
А можно ли написать скрипт, который будет перезапускать сервер при падении MySQL? возможно ли такое, в принципе?
Re: Постоянно останавливается MySQL сервер
С теми же ошибками?r2d2 wrote:Спасибо за совет! Но к сожалению, даже после внесенного изменения, сервер все равно остановился.
Что именно внесли, с какими значениями?
Такие грабли существуют.r2d2 wrote:А можно ли написать скрипт, который будет перезапускать сервер при падении MySQL? возможно ли такое, в принципе?
Поставьте себе monit.
Re: Постоянно останавливается MySQL сервер
Code: Select all
apt-get install monit
Code: Select all
cat /dev/null > /etc/monit/monitrc; nano /etc/monit/monitrc
Code: Select all
set daemon 30
set logfile /var/log/monit.log
set logfile syslog facility log_daemon
check process mysql with pidfile /var/run/mysqld/mysqld.pid
start program = "/etc/init.d/mysql start"
stop program = "/etc/init.d/mysql stop"
if cpu > 80% for 10 cycles then restart
if failed host 127.0.0.1 port 3306 for 10 cycles then restart
if 15 restarts within 15 cycles then timeout
Re: Постоянно останавливается MySQL сервер
Спасибо за советы (все сделал как посоветовали), вроде сервер не падал, но думаю на это влияет и то, что раз в два дня перезагружаю, так как график потребления оперативной памяти имеет такой вид

то-есть, со временем все растет и растет.
Кстати, после перезагрузки, запускается "clamav-daemon", который очень прожорлив.
к стати, я его отключил (если я все правильно сделал) из автозагрузки, но он все равно запускается. С чем это может быть связано?

Спасибо!

то-есть, со временем все растет и растет.
Кстати, после перезагрузки, запускается "clamav-daemon", который очень прожорлив.
к стати, я его отключил (если я все правильно сделал) из автозагрузки, но он все равно запускается. С чем это может быть связано?

Спасибо!
Re: Постоянно останавливается MySQL сервер
Может стоит урезать аппетиты службам и mysql?r2d2 wrote:Спасибо за советы (все сделал как посоветовали), вроде сервер не падал, но думаю на это влияет и то, что раз в два дня перезагружаю, так как график потребления оперативной памяти имеет такой вид
А может под ваши задачи и правда маловато памяти? :)
Re: Постоянно останавливается MySQL сервер
Может быть :) Попробую оставить один сайт на ворд пресс с дневной посещалкой, 2,5к. Посмотрим что из этого выйдет.skurudo wrote: Может стоит урезать аппетиты службам и mysql?
А может под ваши задачи и правда маловато памяти? :)
Re: Постоянно останавливается MySQL сервер
Посмотрите на форуме, были готовые конфиги для разного количества памяти.r2d2 wrote:Может быть :) Попробую оставить один сайт на ворд пресс с дневной посещалкой, 2,5к. Посмотрим что из этого выйдет.
Можно начать с 512 и увеличивать параметры, работая с mysqltuner