sysmerge IT

10 янв. 2019 г.

Mariadb: Recovering after a crash using tc.log, Bad magic header in tc log

Клиент упустил момент, когда диск оказался заполненным и результатом оказалась неприятность с mysql сервером, который не восстанавливался после проблемы с ошибками в логе

янв 10 14:12:06 post4302.vds mysqld[14648]: 2019-01-10 14:12:06 139976785651968 [Note] Recovering after a crash using tc.log
янв 10 14:12:06 post4302.vds mysqld[14648]: 2019-01-10 14:12:06 139976785651968 [ERROR] Bad magic header in tc log
янв 10 14:12:06 post4302.vds mysqld[14648]: 2019-01-10 14:12:06 139976785651968 [ERROR] Crash recovery failed. Either correct the problem (if it's, for example, out of memory error) and restart, or delete tc log and start mysqld with --tc-heuristic-recover={commit|rollback}
янв 10 14:12:06 post4302.vds mysqld[14648]: 2019-01-10 14:12:06 139976785651968 [ERROR] Can't init tc log
янв 10 14:12:06 post4302.vds mysqld[14648]: 2019-01-10 14:12:06 139976785651968 [ERROR] Aborting
янв 10 14:12:09 post4302.vds systemd[1]: mariadb.service: main process exited, code=exited, status=1/FAILURE
янв 10 14:12:09 post4302.vds systemd[1]: Failed to start MariaDB 10.1.37 database server.
янв 10 14:12:09 post4302.vds systemd[1]: Unit mariadb.service entered failed state.
янв 10 14:12:09 post4302.vds systemd[1]: mariadb.service failed.

Решение довольно простое, удаляем из директории Mysql файл tc.log
mv /var/lib/mysql/tc.log /var/lib/mysql/tc.log.bkp

Ну не то чтобы удаляем, а скорее убираем.
Делаем рестарт Mysql сервера и все готово
[root@~]# service mysql restart
Restarting mysql (via systemctl):                          [  OK  ]