Восстановление / Восстановление данных из базы данных MySQL - PullRequest
0 голосов
/ 11 сентября 2018

У меня большая проблема с базой данных MySQL, хранящейся на моей малине (движок InnoDB).Я не очень разбираюсь в этой области, но постараюсь объяснить вам проблему.

Сбой MySQL при каждой попытке его запуска, и мне нужно восстановить данные, хранящиеся в БД.Ошибка:

error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'

Я только что попытался запустить MySQL с флагом innodb_force_recovery от 1 до 6, но он все еще не работает.Из журнала я понял, что проблема заключается в повреждении некоторых таблиц.

Я попытался проверить файл базы данных с помощью https://recovery.twindb.com/, и он показывает, что некоторые таблицы в базе данных «mysql» необходимо восстановить.и таблицы внутри «производственной» базы данных (шахты) в порядке, действительно, я вижу все свои данные на этом сайте.Как можно легко восстановить мои данные?Есть какие-то бесплатные инструменты или сценарий, который я могу использовать?У меня есть все файлы как ibdata01, * .frm, * .ibd

1 Ответ

0 голосов
/ 12 сентября 2018

Вы можете использовать Undrop для InnoDB инструмент для recovery.twindb.com. Чтобы восстановить поврежденную базу данных, вам нужно выполнить шаги с https://twindb.com/recover-corrupt-mysql-database/

Разобрать файл ibd:

# ./stream_parser -f /var/lib/mysql/sakila/actor.ibd

Записи дампа из ПЕРВИЧНОГО индекса:

# ./c_parser -6f pages-actor.ibd/FIL_PAGE_INDEX/0000000000000015.page \
    -t sakila/actor.sql \
    > dumps/default/actor 2>&1 dumps/default/actor_load.sql

Затем загрузите дамп:

# mysql --local-infile sakila < dumps/default/actor_load.sql
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...