Крашатся таблицы в базе данных

Есть база данных Mariadb 10.5.8, в ней несколько однотипных таблиц MyISAM такого вида:

id    Primary   int(10)         UNSIGNED AUTO_INCREMENT
txt   Index     varchar(255)    utf8_general_ci
tr              varchar(255)    utf8_general_ci

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

Table 'trans_it' is marked as crashed and should be repaired

Кликаю в phpmyadmin для этой таблицы "Repair table" на что мне выдаёт:

manager.trans_it    repair  info    Wrong bytesec:   0-  0-  0 at 4837060; Skipped
manager.trans_it    repair  status  OK

И таблица вроде начинает работать, но затем ситуация может повториться снова. Ещё заметил, что после восстановления MAX(id) и COUNT(id) стали различаться.

SELECT MAX(`id`),COUNT(`id`) FROM `trans_it`

Выдаёт:

MAX(`id`)      COUNT(`id`)
    75940            75926

Не очень давно обновлял Mariadb с 5.5.68 до 10.5.8 (Обновлял через mysqldump, а затем импортировал новый дамп в свежеустановленную БД). Сервер Centos 7.9 c 32 GB RAM Все таблицы в БД только типа MyISAM (таблиц InnoDB нет). Вот конфиг my.cnf

[mysqld]

bind-address = 127.0.0.1
log_error = /var/log/mariadb/mysqld.error.log
general_log_file        = /var/log/mariadb/general.log
general_log             = 0
slow_query_log      = 1
slow_query_log_file = /var/log/mariadb/slow_queries.log
long_query_time     = 1

max_connections = 3984
key_buffer_size = 6000M
query_cache_size = 128M
query_cache_limit = 2M
read_buffer_size = 16M
join_buffer_size = 16M

Перед крашем таблиц в логах обнаружил такие записи:

2021-01-03 10:49:58 4 [Note] Detected table cache mutex contention at instance 1: 70% waits. Additional table cache instance activated. Number of instances after activation: 2.
2021-01-03 10:49:58 5 [Note] Detected table cache mutex contention at instance 2: 36% waits. Additional table cache instance activated. Number of instances after activation: 3.
2021-01-03 10:49:58 7 [Note] Detected table cache mutex contention at instance 2: 43% waits. Additional table cache instance activated. Number of instances after activation: 4.
2021-01-03 10:49:59 9 [ERROR] mariadbd: Table './manager/domains' is marked as crashed and should be repaired
2021-01-03 10:49:59 53 [ERROR] mariadbd: Table './manager/trans_de' is marked as crashed and should be repaired

И крашится таблицы начинают по моим ощущениям, когда возрастает нагрузка на БД. Собственно, вопрос в том, почему это возникает и как с этим бороться? Может в настройках что-то донастроить нужно?


Ответы (0 шт):