Восстановление базы данных MySQL из физических файлов

Возможно ли восстановить базу данных MySQL из файлов физической базы данных. У меня есть каталог, который имеет следующие типы файлов:

client.frm
client.MYD
client.MYI

но еще около 20 таблиц.

Обычно я использую mysqldump или аналогичный инструмент, чтобы получить все в одном файле SQL, чтобы как можно справиться с этими типами файлов?

    Таблица MySQL MyISAM представляет собой комбинацию из трех файлов:

    • FRM-файл – это определение таблицы.
    • Файл MYD содержит фактические данные.
    • Файл MYI – это место, где хранятся индексы, созданные в таблице.

    Вы можете восстановить их, скопировав их в папку базы данных (в linux по умолчанию используется /var/lib/mysql/ )

    Вы должны сделать это, пока сервер не запущен.

    Из ответа @Vicent я уже восстанавливаю базу данных MySQL, как показано ниже:

    Шаг 1. Завершение работы сервера Mysql

    Шаг 2. Скопируйте базу данных в папку базы данных (в linux по умолчанию используется / var / lib / mysql). Храните одно и то же имя базы данных и одно и то же имя базы данных в режиме mysql.

     sudo cp -rf /mnt/ubuntu_426/var/lib/mysql/database1 /var/lib/mysql/ 

    Шаг 3: Измените собственный и измените режим папки:

     sudo chown -R mysql:mysql /var/lib/mysql/database1 sudo chmod -R 660 /var/lib/mysql/database1 sudo chown mysql:mysql /var/lib/mysql/database1 sudo chmod 700 /var/lib/mysql/database1 

    Шаг 4. Скопируйте файл ibdata1 в папку базы данных.

     sudo cp /mnt/ubuntu_426/var/lib/mysql/ibdata1 /var/lib/mysql/ sudo chown mysql:mysql /var/lib/mysql/ibdata1 

    Шаг 5: скопируйте файлы ib_logfile0 и ib_logfile1 в папку базы данных.

     sudo cp /mnt/ubuntu_426/var/lib/mysql/ib_logfile0 /var/lib/mysql/ sudo cp /mnt/ubuntu_426/var/lib/mysql/ib_logfile1 /var/lib/mysql/ 

    Помните изменение собственного и изменить корень этих файлов:

     sudo chown -R mysql:mysql /var/lib/mysql/ib_logfile0 sudo chown -R mysql:mysql /var/lib/mysql/ib_logfile1 

    или

     sudo chown -R mysql:mysql /var/lib/mysql 

    Шаг 6 (Необязательно): Мой сайт имеет конфигурацию для хранения файлов в определенном месте, а затем я копирую их в соответствующее место.

    Шаг 7: Запустите сервер Mysql. Все возвращается и наслаждается им.

    Вот и все.

    См. Дополнительную информацию: https://biolinh.wordpress.com/2017/04/01/restoring-mysql-database-from-physical-files-debianubuntu/

    У меня такая же проблема, но не удалось восстановить базу данных на основе приведенных выше инструкций.

    Я получил только восстановленные базы данных mysql из моей Ubuntu OS. Моя проблема заключается в том, как восстановить мою базу данных с помощью этой нечитаемой базы данных mysql. Теперь я вернусь к ОС win7 для среды разработки.

    * ПРИМЕЧАНИЕ. У меня есть существующий сервер баз данных, работающий в win7, и мне нужно всего лишь несколько файлов базы данных для извлечения из восстановленных файлов. Чтобы успешно восстановить файлы базы данных из ОС Ubuntu, мне нужно обновить новую установленную ту же версию сервера баз данных mysql от Ubuntu OS в моей операционной системе win7, чтобы восстановить все на этом старом сервере базы данных.

    1. Создайте еще одну новую версию сервера баз данных mysql из восстановленных файлов.

    2. Остановить сервер mysql

    3. скопируйте восстановленную папку и вставьте в нее (C: \ ProgramData \ MySQL \ MySQL Server 5.5 \ data) базу данных mysql.

    4. скопируйте файл ibdata1, расположенный в установочной папке linux mysql, и вставьте его в (C: \ ProgramData \ MySQL \ MySQL Server 5.5 \ data). Просто поверх существующего или сделайте резервную копию перед заменой.

    5. запустите сервер mysql и проверьте, успешно ли вы восстановили файлы базы данных.

    6. Чтобы использовать восстановленную базу данных на моем текущем сервере mysql, просто экспортируйте восстановленную базу данных и импортируйте ее в мой существующий сервер mysql.

    Надеюсь, это поможет, потому что я не нашел решения моей проблемы.

    Если вы восстанавливаете папку, не забывайте обрабатывать файлы в mysql: mysql

    chown -R mysql:mysql /var/lib/mysql-data

    в противном случае вы получите ошибки при попытке сбросить базу данных или добавить новый столбец и т. д.

    и перезапустить MySQL

     service mysql restart 

    С MySql 5.1 (Win7). Чтобы воссоздать DB (InnoDbs), я заменил все содержимое следующих dirs (my.ini params):

     datadir="C:/ProgramData/MySQL/MySQL Server 5.1/Data/" innodb_data_home_dir="C:/MySQL Datafiles/" 

    После этого я начал работу с MySql Service, и все работает нормально.

    Да! Просто добавьте их в свою папку базы данных (в зависимости от ОС) и запустите команду, такую ​​как «Разрешения на исправление MySQL». Это переустановило базу данных. Смотрите также, что правильные разрешения также установлены в файлах.

    Я как-то скопировал эти файлы в папку хранилища баз данных для базы данных mysql, которая работала, запустила db и ждала, что она «восстановит» файлы, а затем извлечет их с помощью mysqldump.

    Interesting Posts

    C # – как определить, является ли тип числом

    Visual Studio 2015 не выделяет синтаксис бритвой или Intellisense

    Как создать идентификаторы автоматического увеличения в Cassandra

    Как скрыть кнопку «Пуск» в Windows 8.1?

    Получить UserID зарегистрированного пользователя в Asp.Net MVC 5

    Как передать аргументы партии gui в Windows XP / 7?

    Автоматическое переключение на рабочий стол после входа в Windows 8.1

    Ошибка OpenCV imread (filename) в режиме отладки при использовании библиотек выпуска

    Доступ к Windows из Linux / Mac по имени с использованием TCP / IP

    Диапазон, основанный на цикле на массиве, передается на главную функцию

    как я могу отправить данные из onPostExecute в AsyncTask?

    Могу ли я обновлять BIOS через Windows Live CD?

    Обновленную зону DNS нельзя увидеть из моей локальной сети

    Win32 – чтение с stdin с таймаутом

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

    Давайте будем гением компьютера.