Вопрос

Мне нужно восстановить базу данных MySQL из файлов .my и .frm. И я понятия не имею, с чего начать, я попытался просто скопировать их, пока сохраняя файловые разрешения, но безрезультатно, какие другие шаги мне нужно взять?

У меня есть ощущение, что он имеет что-то связано с файлами ib_logfile0, ib_logfile1 и ib_data. Но не знаю, что делать.

Это было полезно?

Решение

Вы не должны делать резервные копии, работая с файлами RAW MySQL. Это тривиально легко в конечном итоге с поврежденной базой данных. Подумайте о том, что произойдет, когда вы начните копировать файлы в среду резервной копии - копия примет ненулевое количество времени, в течение которой база данных может потенциально писать новые данные в разных местах, включая детали, которые вы уже скопировали. Теперь вы копируете модифицированный файл, сочетание старых данных и новых данных. Эта модифицированная копия почти гарантирована повреждена.

Вместо этого вы должны использовать MySQLLUM или MySQLHOTCOPY, что гарантирует постоянную резервную копию.

Однако в случае вероятности того, что ваша база данных относительно тихана, и вам удалось получить хорошую чистую резервную копию, файлы, необходимые для восстановления, зависят от типа таблиц, которые вы восстанавливаете. InnoDB хранит все свои данные в ib* Файлы, независимо от имени базы данных / таблицы. MyISAM использует файлы в каталогах с именем в соответствии с именами базы данных / таблицы.

После копирования резервных копий в правильные места вам придется перезапустить MySQL, так как он все еще будет доступен к исходным копиям файлов.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top