Назад | Перейти на главную страницу

Восстановление InnoDB из файлов данных

Во-первых, мои навыки работы с MySQL и Linux не так хороши. Я потратил несколько дней на поиски решения и попробовал несколько подходов. Следующий подход - тот, к которому я пришел больше всего.

Моя SD-карта, на которой была установлена ​​моя MariaDB, повреждена. Однако мне удалось восстановить каталог / var / lib / mysql.

Я установил новую установку Ubuntu и чистую базу данных MySQL. После того, как я скопировал восстановленные каталоги базы данных в новую папку (без ibdata) и перезапустил базу данных, я мог видеть таблицы, но получил сообщение об ошибке «Таблица 1146 не существует».

Затем я также скопировал файл ibdata и изменил разрешения (chmod, chown, chgrp). Но после этого я больше не могу запускать службу MySQL. Я получаю следующую ошибку:

[Примечание] InnoDB: Если пользователь, выполняющий mysqld, авторизован, приоритет потока очистки страниц может быть изменен. См. Страницу руководства по setpriority ().

[ОШИБКА] InnoDB: невозможно создать файлы журнала в режиме только для чтения

[ОШИБКА] InnoDB: инициализация плагина прервана с ошибкой Транзакция только для чтения

[ОШИБКА] Функция инициализации плагина InnoDB вернула ошибку.

[ОШИБКА] Не удалось зарегистрировать плагин InnoDB как ДВИГАТЕЛЬ ХРАНИЛИЩА.

[ERROR] Не удалось инициализировать встроенные плагины.

[ERROR] Прерывание

Я безуспешно пробовал innodb_force_recovery 0-6.

У кого-нибудь есть подсказка для меня, что означает ошибка и как я могу восстановить свою базу данных?

Кажется, ваш каталог MySQL находится в режиме только для чтения: [ERROR] InnoDB: Cannot create log files in read-only mode. Убедитесь, что у вас есть права на запись в каталог и файлы внутри него.

Тем не менее, если ваша SD-карта вышла из строя, есть вероятность, что сами данные будут повреждены без возможности восстановления.