Mysql
 sql >> база данни >  >> RDS >> Mysql

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

Що се отнася до импортирането на 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 е създаден на.

Ще трябва също да преместите /var/ib/mysql/ib_logfile0 и /var/ib/mysql/ib_logfile1 от Server-S и да ги поставите в същия абсолютен път на Server-T.

Трябва също така да се уверите, че всяка променлива на InnoDB, зададена в /etc/my.cnf от Server-S, трябва да бъде зададена в /etc/my.cnf на Server-T.

InnoDB (innodb_file_per_table активиран)

За всяка таблица на InnoDB ще има два файла. Например, ако таблицата InnoDB в базата данни mydata се нарича mytable, ще имате /var/lib/mysql/mydata/mytable.frm и /var/lib/mysql/mydata/mytable.ibd. .ibd файл съдържа данни и индексни страници за таблицата. За да импортирате отделната таблица, трябва

  1. Поставете mytable.frm в /var/lib/mysql/mydata folder на сървър-T
  2. Поставете mytable.ibd в /var/lib/mysql/mydata folder на сървър-T
  3. Изпълнете ALTER TABLE mydata.mytable IMPORT TABLESPACE;

Уверете се, че имате /var/lib/mysql/ibdata1 на същото място, откъдето е внесен.

Морал на историята

Моля, не използвайте техники IMPORT TABLESPACE на различни сървъри. Просто направете mysqldump на всичко и импортирайте mysqldump. Логическите изхвърляния винаги са най-сигурният начин !!!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. променете двигателя по подразбиране на mysql на innodb

  2. грешка по време на изпълнение:java.lang.ClassNotFoundException:com.mysql.jdbc.Driver

  3. Как да изпращам данни от android към mysql сървър?

  4. Какво причинява PDO грешка Не може да се изпълняват заявки, докато други небуферирани заявки са активни?

  5. Фатална грешка:Извикване на член на функция query() на null