2

Сегодня я немного поработал с сайтом и получаю сообщение об ошибке, что MySQL не может переименовать файл (чтобы внести изменения в BD). Затем я попытался перезапустить MySQL, и он не смог остановить MySQL. Затем я пошел в /var/lib/mysql и все, что я вижу, это: ib_logfile0+1 , ibdata1 и папка site , с таблицами, которые я менял (не сами таблицы, просто #sql-b61_25a8e.MYI).

Могу ли я восстановить данные MySQL? Мне не нужны все таблицы, потому что у меня есть их старая резервная копия. Мне просто нужна эта таблица со всеми пользователями (я менял таблицу с пользователями). И да, я отключил MySQL по какой-то глупой причине.

1 ответ1

1

Прежде всего, где ваши резервные копии? Если у вас их нет, это должно быть вашей первой задачей после восстановления ваших данных.

В любом случае, если у вас есть копия ваших файлов .frm, вы можете восстановить данные. Эти файлы обычно находятся в том же каталоге, что и данные вашей БД, например /var /lib /mysql, но, возможно, ваши настройки отличаются. Если у вас нет копии ваших файлов .frm, вам нужно их заново создать. frm-файлы статически хранят макет вашей таблицы, поэтому его не должно быть слишком сложно воссоздать, если вы сохранили свои документы для проектирования или используете приложение, такое как Wordpress. Затем просто создайте новый экземпляр приложения и скопируйте frm-файлы на компьютер для восстановления.

Для восстановления выполните следующие простые шаги:

  1. Установите новый сервер MySQL на другом компьютере, но пока не запускайте mysqld .
  2. Скопируйте ваши ibdata1 , ib_logfile0 и ib_logfile1 в папку нового компьютера /var/lib/mysql .
  3. Убедитесь, что эти файлы принадлежат пользователю MySQL, например, chown mysql ibdata1 ...
  4. Найдите размер лог-файлов в байтах, например, ls -l .
  5. Станьте пользователем MySQL, например, su mysql .
  6. Запустите mysqld с параметрами восстановления, например, /usr/sbin/mysqld –innodb_log_file_size=<size_inbytes> –innodb_force_recovery=6

Теперь вы должны увидеть некоторые сообщения от MySQL, например, какие опции вы установили. Через некоторое время mysqld должен быть запущен. Как только это произойдет, вы можете получить правильную копию вашей базы данных с помощью mysqldump и импортировать копию на свой рабочий компьютер.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .