Перейти к содержанию

Восстановление поврежденного движка Aria

MariaDB: Восстановление Aria после сбоя

Если ваш сервер аварийно завершил работу и MariaDB регистрирует ошибку, подобную [ERROR] mysqld: Aria recovery failed. Please run aria_chk -r on all Aria tables (*.MAI) and delete all aria_log.######## files, вы можете попробовать следующие действия для восстановления базы данных до исправного состояния:

Запустите стек и подождите, пока mysql-animails начнет сообщать о перезапуске. Проверьте это с помощью следующей команды:

docker compose ps
docker-compose ps

Теперь выполните следующие команды:

Остановите стек, не используйте команду "down"

docker compose stop
docker-compose stop

Запустите bash в остановленном контейнере от имени пользователя mysql

docker compose run --rm --entrypoint '/bin/sh -c "gosu mysql bash"' mysql-animails
docker-compose run --rm --entrypoint '/bin/sh -c "gosu mysql bash"' mysql-animails

Перейдите в директорию данных SQL

cd /var/lib/mysql

Запустите aria_chk

aria_chk --check --force */*.MAI

Удалите лог-файлы aria

rm aria_log.*

Выполните полный перезапуск стека с помощью следующих команд:

docker compose down
docker compose up -d
docker-compose down
docker-compose up -d