Wat betreft het importeren van MySQL-gegevens, moet u rekening houden met drie (3) dingen.
MijnISAM
Het importeren van een MyISAM-tabel is zo eenvoudig als het verplaatsen van drie bestanden met de extensies .frm , .MYD , en .MYI bestanden voor de opgegeven tabel in een MySQL-map. Als de tabelnaam bijvoorbeeld mydata is, dan zijn de drie (3) bestanden
mydata.frmmydata.MYDmydata.MYI
Het volgende zou de nachtmerrie van nachtmerries kunnen zijn. Het importeren van InnoDB hangt volledig af van vele factoren die in een van de twee categorieën vallen:
InnoDB (innodb_file_per_table uitgeschakeld [standaard])
Alle InnoDB-gegevens en indexpagina's bevinden zich in /var/lib/mysql/ibdata1 . Dit bestand moet van uw bronmachine (Server-S) naar de doelmachine (Server-T) worden verplaatst en in hetzelfde absolute pad worden geplaatst. In feite is hier de schok:Server-S en Server-T moeten hetzelfde zijn. Met andere woorden, u kunt InnoDB .ibd niet importeren en exporteren bestanden naar andere machines. Ze kunnen alleen worden geïmporteerd en geëxporteerd op dezelfde machine, de .ibd is gemaakt op.
Je zou ook /var/ib/mysql/ib_logfile0 en /var/ib/mysql/ib_logfile1 van Server-S moeten verplaatsen en ze in hetzelfde absolute pad op Server-T moeten plaatsen.
Je moet er ook voor zorgen dat elke InnoDB-variabele die is ingesteld in /etc/my.cnf van Server-S moet worden ingesteld in /etc/my.cnf op Server-T.
InnoDB (innodb_file_per_table ingeschakeld)
Voor elke InnoDB-tabel zijn er twee bestanden. Als de InnoDB-tabel in de mydata-database bijvoorbeeld mytable wordt genoemd, hebt u /var/lib/mysql/mydata/mytable.frm en /var/lib/mysql/mydata/mytable.ibd. De .ibd bestand bevat gegevens en indexpagina's voor de tabel. Om de individuele tabel te importeren moet je
- Plaats de
mytable.frmin de map/var/lib/mysql/mydata folderop Server-T - Plaats de
mytable.ibdin de map/var/lib/mysql/mydata folderop Server-T - Voer
ALTER TABLE mydata.mytable IMPORT TABLESPACE;
Zorg ervoor dat u de /var/lib/mysql/ibdata1 op dezelfde plaats waaruit het is geïmporteerd.
Moraal van het verhaal
Gebruik IMPORT TABLESPACE-technieken niet op verschillende servers. Doe gewoon een mysqldump van alles en importeer de mysqldump. Logische stortplaatsen zijn altijd de veiligste manier om te gaan !!!