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

Получить базу данных mysql из необработанных файлов

Мой Linux-сервер с корневым доступом разбился, и я не могу подключиться к нему по SSH или взаимодействовать с ним. Однако я могу указать онлайн-консоли выполнить загрузку по сети «системы спасения», которая позволяет мне получить доступ к файлам на сервере.

Это означает, что я могу получить только необработанную папку моей базы данных и не могу выполнить дамп SQL.

Это не сработает, если я просто скопирую папку своей базы данных, потому что на моем новом рабочем сервере говорится, что некоторые таблицы недоступны. По-видимому, это из-за InnoDB, и я также должен скопировать файлы ibdata1, ib_logfile0 и ib_logifle1.

Могу ли я просто перезаписать файлы ib * на моем сервере новостей файлами ib * старого сервера? Есть ли способ передать эту базу данных, просто скопировав файлы?

Если вы скопируете ib* файлы и все подкаталоги в /var/lib/mysql (или независимо от того, где был каталог данных MySQL) вместе с my.cnf из /etc к новому серверу, он должен запуститься, как ни в чем не бывало. Нет другого способа передать таблицы или базы данных InnoDB, кроме этого. Даже с innodb_file_per_table Опция InnoDB по-прежнему хранит метаданные в файле центральной базы данных, поэтому вы не можете восстановить без него.