Стал часто падать MySQL

12 3
GamletOrtikov
На сайте с 26.08.2011
Offline
95
2833

Здравствуйте. В последнее время стал часто падать MySQL. В логах такая информация:

181013 16:59:25 mysqld_safe Number of processes running now: 0
181013 16:59:25 mysqld_safe mysqld restarted
181013 16:59:28 [Note] /usr/libexec/mysqld (mysqld 5.5.47-MariaDB) starting as process 11748 ...
181013 16:59:28 InnoDB: The InnoDB memory heap is disabled
181013 16:59:28 InnoDB: Mutexes and rw_locks use GCC atomic builtins
181013 16:59:28 InnoDB: Compressed tables use zlib 1.2.7
181013 16:59:28 InnoDB: Using Linux native AIO
181013 16:59:28 InnoDB: Initializing buffer pool, size = 128.0M
181013 16:59:28 InnoDB: Completed initialization of buffer pool
181013 16:59:28 InnoDB: highest supported file format is Barracuda.
181013 16:59:29 InnoDB: Waiting for the background threads to start
181013 16:59:30 Percona XtraDB (http://www.percona.com) 5.5.46-MariaDB-37.6 started; log sequence number 1698811
181013 16:59:30 [Note] Plugin 'FEEDBACK' is disabled.
181013 16:59:30 [Note] Server socket created on IP: '0.0.0.0'.
181013 16:59:31 [Note] Event Scheduler: Loaded 0 events
181013 16:59:31 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.5.47-MariaDB' socket: '/var/lib/mysql/mysql.sock' port: 3306 MariaDB Server

Ранее несколько лет такая проблема была очень редка. Сейчас же может по два раза за день отвалиться. Прошу помочь разобраться в чём именно проблема.

Доп.инфа, если необходимо: CentOS 7, OpenVZ, 1Gb оперативки, 30Gb диска. Места свободного ещё много.

Покупаем вкладыши TURBO (https://vk.com/fantiki_turbo)
LEOnidUKG
На сайте с 25.11.2006
Offline
1722
#1

Что значит падает?!

Покажите весь лог полностью.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
GamletOrtikov
На сайте с 26.08.2011
Offline
95
#2
LEOnidUKG:
Что значит падает?!

Покажите весь лог полностью.

Имею ввиду, что при посещении сайта разумеется он выдаёт ошибку, что база данных не работает. Приходится через SSH запускать командой systemctl start mariadb.service

Весь лог идентичен, там просто после этого идёт инфа о базах данных:


181013 16:59:25 mysqld_safe Number of processes running now: 0
181013 16:59:25 mysqld_safe mysqld restarted
181013 16:59:28 [Note] /usr/libexec/mysqld (mysqld 5.5.47-MariaDB) starting as process 11748 ...
181013 16:59:28 InnoDB: The InnoDB memory heap is disabled
181013 16:59:28 InnoDB: Mutexes and rw_locks use GCC atomic builtins
181013 16:59:28 InnoDB: Compressed tables use zlib 1.2.7
181013 16:59:28 InnoDB: Using Linux native AIO
181013 16:59:28 InnoDB: Initializing buffer pool, size = 128.0M
181013 16:59:28 InnoDB: Completed initialization of buffer pool
181013 16:59:28 InnoDB: highest supported file format is Barracuda.
181013 16:59:29 InnoDB: Waiting for the background threads to start
181013 16:59:30 Percona XtraDB (http://www.percona.com) 5.5.46-MariaDB-37.6 started; log sequence number 1698811
181013 16:59:30 [Note] Plugin 'FEEDBACK' is disabled.
181013 16:59:30 [Note] Server socket created on IP: '0.0.0.0'.
181013 16:59:31 [Note] Event Scheduler: Loaded 0 events
181013 16:59:31 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.5.47-MariaDB' socket: '/var/lib/mysql/mysql.sock' port: 3306 MariaDB Server
181013 16:59:31 [ERROR] mysqld: Table './base1/dm_news' is marked as crashed and should be repaired
181013 16:59:31 [Warning] Checking table: './base1/dm_news'
181013 16:59:31 [ERROR] mysqld: Table './base2/dle_post' is marked as crashed and should be repaired
181013 16:59:31 [Warning] Checking table: './base2/dle_post'
181013 16:59:31 [ERROR] mysqld: Table './base1/dm_view' is marked as crashed and should be repaired
181013 16:59:31 [Warning] Checking table: './base1/dm_view'
181013 16:59:31 [ERROR] mysqld: Table './base2/dle_views' is marked as crashed and should be repaired
181013 16:59:31 [Warning] Checking table: './base2/dle_views'
LEOnidUKG
На сайте с 25.11.2006
Offline
1722
#3

Ну как минимум у вас базы повреждены это раз.

Во вторых попробуйте обновить maridb 5.5 до текущей версии 5,5,61

Также загляните в:

/var/log/messages

Может там что-то будет по ней.

За памятью следили, не утекает она? Саму ОС не обновляли?

GamletOrtikov
На сайте с 26.08.2011
Offline
95
#4

LEOnidUKG, я базы восстанавливал командами repair, но всё равно в логах отображаются ошибки.

/var/log/messages - такого у меня нет.

Как за памятью следить не знаю, поэтом не могу сказать.

Ось не обновлял. Уже несколько лет работало просто отлично. Сейчас вдруг такая проблема.

---------- Добавлено 13.10.2018 в 18:45 ----------

Базы InnoDB вообще у меня не используются. Может их отключить?

Evas EvaSystems
На сайте с 31.05.2012
Offline
104
#5

В логе только информация о том, что служба mariadb запущена по вашей команде start, больше там нет ничего. Т.е непонятно почему она оказывается остановленной.

Это исходя из того, что вы говорите, что остальной лог идентичен... В совокупности с тем, что таблички повреждены, думаю что эта остановка непредвиденная,

т.е службу кто-то нагло убивает. Скорее всего OOM killer, которые начинает убивать службы если в системе не остаётся свободной оперативной памяти.

Учитывая что памяти у вас всего 1гб и то, что это OpenVZ скорее всего так и есть.

Память смотреть: free -m (показывает в реальном времени)

Странно, что /var/log/messages нет. А /var/log/syslog есть? Если есть, сделайте cat /var/log/syslog | grep -i "oom"

Если InnoDB не используется и не нужен, да отключить в целях экономии памяти. Но есть нюансы, т.к в 5.5 это движок по умолчанию,

надо указать соотв. настройки, которые сделают MyISAM движком по умолчанию.

Системный администратор Linux. Настройка, сопровождение и оптимизация серверов. Отзывы - searchengines.guru/ru/forum/1017473
S
На сайте с 10.03.2008
Offline
94
#6

Какая нагрузка на базу (сколько соединений)? Объем БД? Сколько записей в поврежденных таблицах?

Разрабатываем сайты (http://www.rclsoft.ru/)
GamletOrtikov
На сайте с 26.08.2011
Offline
95
#7
Evas:
А /var/log/syslog есть?

Этого тоже нет.

Steepler:
Какая нагрузка на базу (сколько соединений)? Объем БД? Сколько записей в поврежденных таблицах?

Нагрузку тоже не знаю, а объём всех баз данных примерно 430 Мб, записей в повреждённых таблицах от 200 и более.

Я сейчас ещё заглянул в VMmanager и посмотрел статистику за текущий месяц и там действительно использование памяти очень часто более 90% плюс количество отказов памяти в последнее время резко возросло.

LEOnidUKG
На сайте с 25.11.2006
Offline
1722
#8

Значит надо отслеживать кто или что сжирает память. Возможно боты начали активно спамить, может спамеры, может быть ддос идёт мелкий.

S
На сайте с 10.03.2008
Offline
94
#9

GamletOrtikov,

таблиц в базе данных много? Структуру поврежденной таблице показать можете?

vga1
На сайте с 18.02.2007
Offline
251
#10

/etc/mysql/my.cnf покажите?

Попробовать размер буферов уменьшить.

12 3

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