Vesta Control Panel - Forum

Community Forum

Skip to content

Advanced search
  • Quick links
    • Main site
    • Github repo
    • Google Search
  • FAQ
  • Login
  • Register
  • Board index Language specific forums Russian (Русский) Сервер баз данных
  • Search

Постоянно останавливается MySQL сервер

Вопросы по работе Сервера баз данных
MySQL, PostgreSQL, MariaDB, Percona Server, phpMyAdmin, phpPgAdmin
Locked
  • Print view
Advanced search
16 posts
  • 1
  • 2
  • Next
r2d2
Posts: 19
Joined: Fri Feb 05, 2016 8:35 pm

Постоянно останавливается MySQL сервер

Post by r2d2 » Mon Mar 28, 2016 6:25 am

Здравствуйте!
Подскажите, пожалуйста, в чем может быть причина регулярного падения 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
Вот настройки файла my.cnf

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
Ранее очень много оперативки жрал антивирус, clamav-daemon который запустился при перезапуске, я его отключил, но проблема не решилась.

На сервере размещено несколько сайтов на WordPress, все кроме одного имеют практически нулевую посещаемость, один сайт в лучшие дни имеет 2к в сутки. Стоит плагин SuperCache.
Падает сервер все время под утро. Може ли быть, что это связано с созданием бекапов?

Заранее спасибо за помощь!
Top

skurudo
VestaCP Team
Posts: 8099
Joined: Fri Dec 26, 2014 2:23 pm
Contact:
Contact skurudo
Website Facebook Google+ Skype
Twitter

Re: Постоянно останавливается MySQL сервер

Post by skurudo » Tue Mar 29, 2016 2:44 pm

r2d2 wrote:Подскажите, пожалуйста, в чем может быть причина регулярного падения MySQL сервера. Раз в несколько дней.
В логах ругается на это:
Fatal error: cannot allocate memory for the buffer pool

r2d2 wrote:На сервере размещено несколько сайтов на WordPress, все кроме одного имеют практически нулевую посещаемость, один сайт в лучшие дни имеет 2к в сутки. Стоит плагин SuperCache. Падает сервер все время под утро. Може ли быть, что это связано с созданием бекапов?
mysql поджирает под себя память (резервирует, более верный термин) вне зависимости от посещаемости ваших сайтов. Умерьте аппетиты этой прожорливой скотинки.
Top

skurudo
VestaCP Team
Posts: 8099
Joined: Fri Dec 26, 2014 2:23 pm
Contact:
Contact skurudo
Website Facebook Google+ Skype
Twitter

Re: Постоянно останавливается MySQL сервер

Post by skurudo » Tue Mar 29, 2016 2:45 pm

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 — не стоит увлекаться, нужно найти оптимальный размер, найдите лучшее применение доступной памяти.
Top

r2d2
Posts: 19
Joined: Fri Feb 05, 2016 8:35 pm

Re: Постоянно останавливается MySQL сервер

Post by r2d2 » Sun Apr 03, 2016 7:54 pm

Спасибо за совет! Но к сожалению, даже после внесенного изменения, сервер все равно остановился.

А можно ли написать скрипт, который будет перезапускать сервер при падении MySQL? возможно ли такое, в принципе?
Top

skurudo
VestaCP Team
Posts: 8099
Joined: Fri Dec 26, 2014 2:23 pm
Contact:
Contact skurudo
Website Facebook Google+ Skype
Twitter

Re: Постоянно останавливается MySQL сервер

Post by skurudo » Mon Apr 04, 2016 10:44 am

r2d2 wrote:Спасибо за совет! Но к сожалению, даже после внесенного изменения, сервер все равно остановился.
С теми же ошибками?
Что именно внесли, с какими значениями?
r2d2 wrote:А можно ли написать скрипт, который будет перезапускать сервер при падении MySQL? возможно ли такое, в принципе?
Такие грабли существуют.
Поставьте себе monit.
Top

skurudo
VestaCP Team
Posts: 8099
Joined: Fri Dec 26, 2014 2:23 pm
Contact:
Contact skurudo
Website Facebook Google+ Skype
Twitter

Re: Постоянно останавливается MySQL сервер

Post by skurudo » Mon Apr 04, 2016 10:47 am

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
Top

r2d2
Posts: 19
Joined: Fri Feb 05, 2016 8:35 pm

Re: Постоянно останавливается MySQL сервер

Post by r2d2 » Tue Apr 12, 2016 5:09 pm

Спасибо за советы (все сделал как посоветовали), вроде сервер не падал, но думаю на это влияет и то, что раз в два дня перезагружаю, так как график потребления оперативной памяти имеет такой вид

Image
то-есть, со временем все растет и растет.

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

skurudo
VestaCP Team
Posts: 8099
Joined: Fri Dec 26, 2014 2:23 pm
Contact:
Contact skurudo
Website Facebook Google+ Skype
Twitter

Re: Постоянно останавливается MySQL сервер

Post by skurudo » Fri Apr 22, 2016 1:47 pm

r2d2 wrote:Спасибо за советы (все сделал как посоветовали), вроде сервер не падал, но думаю на это влияет и то, что раз в два дня перезагружаю, так как график потребления оперативной памяти имеет такой вид
Может стоит урезать аппетиты службам и mysql?
А может под ваши задачи и правда маловато памяти? :)
Top

r2d2
Posts: 19
Joined: Fri Feb 05, 2016 8:35 pm

Re: Постоянно останавливается MySQL сервер

Post by r2d2 » Sat Apr 23, 2016 8:40 am

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

skurudo
VestaCP Team
Posts: 8099
Joined: Fri Dec 26, 2014 2:23 pm
Contact:
Contact skurudo
Website Facebook Google+ Skype
Twitter

Re: Постоянно останавливается MySQL сервер

Post by skurudo » Mon Apr 25, 2016 7:35 am

r2d2 wrote:Может быть :) Попробую оставить один сайт на ворд пресс с дневной посещалкой, 2,5к. Посмотрим что из этого выйдет.
Посмотрите на форуме, были готовые конфиги для разного количества памяти.
Можно начать с 512 и увеличивать параметры, работая с mysqltuner
Top


Locked
  • Print view

16 posts
  • 1
  • 2
  • Next

Return to “Сервер баз данных”



  • Board index
  • All times are UTC
  • Delete all board cookies
  • The team
Powered by phpBB® Forum Software © phpBB Limited
*Original Author: Brad Veryard
*Updated to 3.2 by MannixMD
 

 

Login  •  Register

I forgot my password