Pokud jde o import jakýchkoli dat MySQL, je třeba zvážit tři (3) věci.
MyISAM
Import tabulky MyISAM je jednoduchý jako přesun tří souborů s příponami .frm , .MYD a .MYI soubory pro danou tabulku do složky MySQL. Pokud je například název tabulky mydata, pak tři (3) soubory
mydata.frmmydata.MYDmydata.MYI
Následující by mohla být noční můra nočních můr. Import InnoDB zcela závisí na mnoha faktorech, které spadají do jedné ze dvou kategorií:
InnoDB (innodb_file_per_table zakázáno [výchozí])
Všechna data a indexové stránky InnoDB jsou umístěny v /var/lib/mysql/ibdata1 . Tento soubor je nutné přesunout ze zdrojového počítače (Server-S) do cílového počítače (Server-T) a umístit do stejné absolutní cesty. Ve skutečnosti je zde šokující:Server-S a Server-T musí být stejné. Jinými slovy, nemůžete importovat a exportovat InnoDB .ibd soubory na jiné stroje. Lze je importovat a exportovat pouze na stejném počítači jako .ibd byl vytvořen dne.
Také byste museli přesunout /var/ib/mysql/ib_logfile0 a /var/ib/mysql/ib_logfile1 ze Server-S a umístit je do stejné absolutní cesty na Server-T.
Musíte se také ujistit, že každá proměnná InnoDB nastavená v /etc/my.cnf ze Server-S musí být nastavena v /etc/my.cnf na Server-T.
InnoDB (innodb_file_per_table povoleno)
Pro každou tabulku InnoDB budou dva soubory. Pokud se například tabulka InnoDB v databázi mydata nazývá mytable, budete mít /var/lib/mysql/mydata/mytable.frm a /var/lib/mysql/mydata/mytable.ibd. Soubor .ibd soubor obsahuje data a indexové stránky pro tabulku. Chcete-li importovat jednotlivé tabulky, musíte
- Umístěte soubor
mytable.frmve složce/var/lib/mysql/mydata folderna Server-T - Umístěte soubor
mytable.ibdve složce/var/lib/mysql/mydata folderna Server-T - Spusťte
ALTER TABLE mydata.mytable IMPORT TABLESPACE;
Ujistěte se, že máte /var/lib/mysql/ibdata1 na stejném místě, odkud byl importován.
Morálka příběhu
Nepoužívejte prosím techniky IMPORTU TABLESPACE na různých serverech. Stačí udělat mysqldump všeho a importovat mysqldump. Logické skládky jsou vždy nejbezpečnější cestou !!!