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.frm
mydata.MYD
mydata.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.frm
ve složce/var/lib/mysql/mydata folder
na Server-T - Umístěte soubor
mytable.ibd
ve složce/var/lib/mysql/mydata folder
na 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 !!!