We are happy to announce that Vesta is back under active development as of 25 February 2024. We are working on v1 candidate and expect to engage more with the community over the coming months. We are committed to open source, and we encourage contributors to help us build the future of Vesta.
Постоянно останавливается 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