Упал сервер MySQL. Помогите найти причину

ND
На сайте с 09.03.2018
Offline
6
981

Есть сервер VDS на хотором хостятся 2 сайта. Посещаемость маленькая, не более 200 ун. пос. в сутки.

Сегодня с утра обнаружил что сайты не работают - выдают ошибку подключения к базе данных.

Зашел на сервер.

Команда: sudo service mysqld status показала что mysql не запущен.

Перезапустил sudo service mysqld restart - сайты заработали.

В логах /var/log/mysqld.log записи такие:

Огромная простыня из похожих запросов. Эти запросы происходят ежедневно на протяжении последнего года, по 3-4 партии в сутки по несколько десятков запросов в каждой.

IP адреса в запросе каждый раз меняются.

...

2018-04-15T21:28:21.367688Z 69422 [Note] Access denied for user 'root'@'58.218.200.15' (using password: YES)

2018-04-15T21:28:21.920274Z 69423 [Note] Access denied for user 'root'@'58.218.200.15' (using password: YES)

2018-04-15T21:28:22.472954Z 69424 [Note] Access denied for user 'root'@'58.218.200.15' (using password: YES)

2018-04-15T21:28:23.037916Z 69425 [Note] Access denied for user 'root'@'58.218.200.15' (using password: YES)

2018-04-15T21:28:23.613832Z 69426 [Note] Access denied for user 'root'@'58.218.200.15' (using password: YES)

...

Последние записи в логе такие такие:

2018-04-15T21:28:22.472954Z 69424 [Note] Access denied for user 'root'@'58.218.200.15' (using password: YES)

2018-04-15T21:28:23.037916Z 69425 [Note] Access denied for user 'root'@'58.218.200.15' (using password: YES)

2018-04-15T21:28:23.613832Z 69426 [Note] Access denied for user 'root'@'58.218.200.15' (using password: YES)

2018-04-15T23:41:36.125019Z 69477 [Note] Aborted connection 69477 to db: 'mydb' user: 'vlad' host: 'localhost' (Got an error writing communication packets)

2018-04-15T23:43:46.835932Z 69500 [Note] Aborted connection 69500 to db: 'mydb' user: 'vlad' host: 'localhost' (Got an error reading communication packets)

2018-04-16T03:23:34.916024Z 69699 [Note] Aborted connection 69699 to db: 'mydb' user: 'vlad' host: 'localhost' (Got an error reading communication packets)

Далее 5 раз повторяется такая портянка с интервалом в секунду:

2018-04-16T04:27:49.333823Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2018-04-16T04:27:49.334033Z 0 [Warning] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.

2018-04-16T04:27:49.340849Z 0 [Note] /usr/sbin/mysqld (mysqld 5.7.18) starting as process 8291 ...

2018-04-16T04:27:49.354717Z 0 [Note] InnoDB: PUNCH HOLE support available

2018-04-16T04:27:49.354774Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins

2018-04-16T04:27:49.354803Z 0 [Note] InnoDB: Uses event mutexes

2018-04-16T04:27:49.354819Z 0 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier

2018-04-16T04:27:49.354822Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.3

2018-04-16T04:27:49.354825Z 0 [Note] InnoDB: Using Linux native AIO

2018-04-16T04:27:49.355454Z 0 [Note] InnoDB: Number of pools: 1

2018-04-16T04:27:49.357344Z 0 [Note] InnoDB: Not using CPU crc32 instructions

2018-04-16T04:27:49.362033Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M

2018-04-16T04:27:49.362148Z 0 [ERROR] InnoDB: mmap(137428992 bytes) failed; errno 12

2018-04-16T04:27:49.362164Z 0 [ERROR] InnoDB: Cannot allocate memory for the buffer pool

2018-04-16T04:27:49.362173Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error

2018-04-16T04:27:49.362190Z 0 [ERROR] Plugin 'InnoDB' init function returned error.

2018-04-16T04:27:49.362195Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.

2018-04-16T04:27:49.362200Z 0 [ERROR] Failed to initialize plugins.

2018-04-16T04:27:49.362207Z 0 [ERROR] Aborting

2018-04-16T04:27:49.362248Z 0 [Note] Binlog end

2018-04-16T04:27:49.362340Z 0 [Note] Shutting down plugin 'CSV'

2018-04-16T04:27:49.362653Z 0 [Note] /usr/sbin/mysqld: Shutdown complete

Вопрос в следующем:

1. Возможно ли как то выяснить причину падения сервера? Если да то как? Что можно сделать чтобы это предотвратить?

2. В чем смысл этих запросов: 2018-04-15T21:28:23.613832Z 69426 [Note] Access denied for user 'root'@'58.218.200.15' (using password: YES) Их в логе тысячи, отправляются каждую секунду.

3. Что означает это: 2018-04-15T23:41:36.125019Z 69477 [Note] Aborted connection 69477 to db: 'mydb' user: 'vlad' host: 'localhost' (Got an error writing communication packets)

4. Что может значить последняя портянка? Что произошло на сервере что он отрубился?

Спасибо!

KU
На сайте с 17.07.2008
Offline
251
#1
2018-04-16T04:27:49.362033Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2018-04-16T04:27:49.362148Z 0 [ERROR] InnoDB: mmap(137428992 bytes) failed; errno 12
2018-04-16T04:27:49.362164Z 0 [ERROR] InnoDB: Cannot allocate memory for the buffer pool

Нехватка RAM на сервере. Панель какая установлена?

Хостинг ( https://good-host.net ) / Linux VPS ( https://good-host.net/vps ) / Windows VPS ( https://good-host.net/windows-vps ) / Выделенные серверы ( https://good-host.net/dedicated ) 14 лет онлайн!
ND
На сайте с 09.03.2018
Offline
6
#2
KM.UA:
Нехватка RAM на сервере. Панель какая установлена?

1 ядро процессора

1 Гб оперативной памяти

20 Гб жёсткого диска

Никакой панели у меня не установлено. Только 2 сайта: один самописный с нулевой посещаемостью, другой на вордпрессе - 200 чел/сут. А почему он пишет 128 мегабайт? Я могу увеличить этот лимит, скажем до 512 ?? Проблема решится?

savingleb
На сайте с 15.04.2007
Offline
393
#3

my.cnf

[mysqld]

innodb_buffer_pool_size=512M

Визовый центр в Санкт-Петербурге (https://visaspb.com/).
KU
На сайте с 17.07.2008
Offline
251
#4
NkDev:

Я могу увеличить этот лимит, скажем до 512 ?? Проблема решится?

Проблема усугубится. Грубо говоря, MySQL сейчас падает, если свободной памяти на сервере меньше 128Мб, а будет падать, если будет меньше 512мб, т.е. еще чаще.

Если таблиц innodb у вас нет, то поставье 0 вообще.

А также разбирайтесь, что еще использует много памяти. Если апач, уменьшайте количество работающих процессов. Смотрите top / htop

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий