Mysql
 sql >> Database >  >> RDS >> Mysql

Importa file .frm e .opt su MySQL

Per quanto riguarda l'importazione di dati MySQL, è necessario considerare tre(3) cose.

Il mioISAM

Importare una tabella MyISAM è semplice come spostare tre file con estensione .frm , .MYD e .MYI file per la tabella data in una cartella MySQL. Ad esempio, se il nome della tabella è mydata, allora i tre(3) file

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

Quello che segue potrebbe essere l'incubo degli incubi. L'importazione di InnoDB dipende interamente da molti fattori che rientrano in una delle due categorie:

InnoDB (innodb_file_per_table disabilitato [predefinito])

Tutti i dati e le pagine di indice di InnoDB si trovano in /var/lib/mysql/ibdata1 . Questo file deve essere spostato dalla macchina di origine (Server-S) alla macchina di destinazione (Server-T) e collocato nello stesso percorso assoluto. In effetti, ecco lo shock:Server-S e Server-T devono essere gli stessi. In altre parole, non puoi importare ed esportare InnoDB .ibd file su altre macchine. Possono essere importati ed esportati solo sulla stessa macchina .ibd è stato creato il.

Dovresti anche spostare /var/ib/mysql/ib_logfile0 e /var/ib/mysql/ib_logfile1 da Server-S e posizionarli nello stesso percorso assoluto su Server-T.

Devi anche assicurarti che ogni variabile InnoDB impostata in /etc/my.cnf da Server-S debba essere impostata in /etc/my.cnf su Server-T.

InnoDB (innodb_file_per_table abilitato)

Per ogni tabella InnoDB, ci saranno due file. Ad esempio, se la tabella InnoDB nel database mydata è chiamata mytable, avrai /var/lib/mysql/mydata/mytable.frm e /var/lib/mysql/mydata/mytable.ibd. Il .ibd contiene dati e pagine di indice per la tabella. Per importare la singola tabella devi

  1. Inserisci mytable.frm nella cartella /var/lib/mysql/mydata folder su Server-T
  2. Inserisci mytable.ibd nella cartella /var/lib/mysql/mydata folder su Server-T
  3. Esegui ALTER TABLE mydata.mytable IMPORT TABLESPACE;

Assicurati di avere il /var/lib/mysql/ibdata1 nello stesso luogo da cui è stato importato.

Morale della favola

Si prega di non utilizzare le tecniche IMPORT TABLESPACE su server diversi. Basta fare un mysqldump di tutto e importare il mysqldump. I dump logici sono sempre la strada più sicura da percorrere!!!