Этим утром моя база данных mariadb не запустилась.
Кажется, у меня есть несколько поврежденных таблиц InnoDB, и она будет начинаться только с innodb_force_recovery
set (значение 1
заставляет его запускаться).
Я пытался mysql_upgrade --force
, но как только он попадает в поврежденную таблицу, он завершается с ошибкой 2013: Lost connection to MySQL server during query when executing 'REPAIR NO_WRITE_TO_BINLOG VIEW ... '
. Используя mysqlcheck
, он снова достигает поврежденной таблицы, а затемтерпит неудачу с 2013: Lost connection to MySQL server during query when executing 'CHECK TABLE ... '
, и все последующие проверки терпят неудачу с 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111) when executing 'CHECK TABLE ... '
Очень похоже на попытку использовать mysqldump. Я следовал советам здесь с mysqldump mydatabase --skip-lock-tables --hex-blob --skip-extended-insert > /root/db_backup/mydatabase.sql
, но опять же, как только он попадает в первую поврежденную таблицу, я получаю mysqldump: Couldn't execute 'show create table "my_table"': Lost connection to MySQL server during query (2013)
Я попытался увеличить значение innodb_force_recovery
до6, но безрезультатно.
Я также добавил следующее в my.cnf
net_read_timeout=7200
net_write_timeout=7200
max_allowed_packet=1024M
Это mariadb 10.2.28, работающее в Centos 7