Подтвердить что ты не робот

Импортировать файлы .frm и .opt в MySQL

Я использую MySQL 5.5.1.1, загруженный и установленный из: http://dev.mysql.com/downloads/

Я хочу импортировать файлы базы данных .frm и .opt с моей локальной машины в мою базу данных mysql.

Я создал новое соединение Databbase, чтобы помочь мне импортировать файлы с моей машины. Но я не могу импортировать файлы .frm, поскольку я продолжаю получать сообщение об ошибке: Формат не поддерживается.

Может кто-нибудь, пожалуйста, помогите мне в том, как я могу импортировать файлы в клиент MySQL?

Спасибо, J

4b9b3361

Ответ 1

Чтобы импортировать любые данные MySQL, необходимо рассмотреть три (3) вещи.

MyISAM

Импорт таблицы MyISAM является простым перемещением трех файлов с расширениями файлов .frm, .MYD и .MYI для данной таблицы в папку MySQL. Например, если имя таблицы является mydata, то три (3) файла

  • mydata.frm
  • mydata.MYD
  • mydata.MYI

Следующим может стать кошмар кошмаров. Импорт InnoDB полностью зависит от многих факторов, которые попадают в одну из двух категорий:

InnoDB (innodb_file_per_table отключен [по умолчанию])

Все данные и индексные страницы InnoDB расположены в /var/lib/mysql/ibdata1. Этот файл должен быть перемещен с вашего исходного компьютера (Server-S) на целевой компьютер (Server-T) и помещен в тот же абсолютный путь. Фактически, вот шокер: Server-S и Server-T должны быть одинаковыми. Другими словами, вы не можете импортировать и экспортировать файлы InnoDB .ibd на другие машины. Их можно импортировать и экспортировать только на том же компьютере, на котором был создан .ibd.

Вам также нужно будет переместить /Server/S/S/S/L/mysql/ib _logfile0 и/var/ib/mysql/ib_logfile1 с сервера-S и поместить их в один и тот же абсолютный путь на сервере-T.

Вы также должны убедиться, что каждая переменная InnoDB, установленная в /etc/my.cnf из Server-S, должна быть установлена ​​в/etc/my.cnf на сервере-T.

InnoDB (innodb_file_per_table включен)

Для каждой таблицы InnoDB будут два файла. Например, если таблица InnoDB в базе данных mydata называется mytable, у вас будет /var/lib/mysql/mydata/mytable.frm и /var/lib/mysql/mydata/mytable.ibd. Файл .ibd содержит страницы данных и индексов для таблицы. Чтобы импортировать отдельную таблицу, вы должны

  • Поместите mytable.frm в /var/lib/mysql/mydata folder на сервере-T
  • Поместите mytable.ibd в /var/lib/mysql/mydata folder на сервере-T
  • Запустить ALTER TABLE mydata.mytable IMPORT TABLESPACE;

Убедитесь, что у вас есть /var/lib/mysql/ibdata1 в том же месте, в котором он был импортирован.

Мораль истории

Пожалуйста, не используйте методы IMPORT TABLESPACE на разных серверах. Просто сделайте mysqldump всего и импортируйте mysqldump. Логические свалки всегда самый безопасный путь!

Ответ 2

Я импортировал mysql, используя файлы на xampp. У меня очень много баз данных, поэтому я не хотел проходить маршрут mysqldump. Процесс был:

  • Установите новый xampp, но не включите службы
  • Обновите my.ini, чтобы включить любые пользовательские настройки, которые у меня были при предыдущей установке.
  • Подтвердите, что mysql запускается успешно
  • Скопируйте все папки базы данных (внутри папки данных) из старой установки, за исключением mysql, phpmyadmin и webauth.
  • Подтвердите, что mysql запускается успешно
  • Скопировать более ib_logfile0, ib_logfile1 и ibdata1. Сначала переименуйте файлы, не перезаписывайте на случай, если что-то пойдет не так.
  • Подтвердите, что mysql запускается успешно
  • Скопируйте следующие файлы из папки data/mysql: db.frm, db.MYD, db.MYI, user.frm, user.MYD, user.MYI. Не перезаписывайте новые, если это не сработает.
  • Подтвердите, что mysql запускается успешно

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

Ответ 3

Просто скопируйте нужную папку "данные" в целевую папку данных mysql, после переименования текущей папки "data", после остановки службы mysql. И экспортируйте в sql файл с помощью phpmyadmin и восстановите текущую папку данных и импортируйте требуемые данные sql.

Ответ 4

Я думаю, что большая проблема, с которой вы можете столкнуться, связана с тем фактом, что вы даже не можете просматривать эти .frm файлы в интерфейсе phpmyadmin (потому что они действительно являются неполными наборами). Я предлагаю вам удалить эти файлы из текущего местоположения и использовать phpmyadmin для повторного создания этих таблиц как SQL под вкладкой "запрос" [delete IFF, у вас есть база данных script всего. если нет, вы все равно можете получить это со старой дампы. если не gaian, не удаляйте). Спасибо: chagbert.