8.3.2012 09:50
V případě, že budete potřebovat přesunout obří databázi - např. 1GB velkou, z jednoho stroje na jiný, setkáte se s několika problémy.
Začneme klasicky: vytvoříme dump databáze:
Bohužel pro jakoukoli úpravu dumpu se setkáte s problémem, kdy nebudete moci otevřít tak velký soubor v editoru (mcedit, nano). Proto bude nutné soubor rozkouskovat a zase spojit - a budete potřebovat dvojnásobek místa na disku.
Dále je vhodné na začátek dumpu přidat tyto řádky snižující zátěž při importu:
A za každý CREATE TABLE, kde budou stotisíce řádků vložíme:
Není nutné řešit enable keys, protože to se provede po importu automaticky.
Soubory zase spojíme a už jen provedeme čistý import:
[code]mysql -uroot -pheslo dbname
Začneme klasicky: vytvoříme dump databáze:
Code:
mysqldump -uroot -pheslo dbname > dump.sql
Bohužel pro jakoukoli úpravu dumpu se setkáte s problémem, kdy nebudete moci otevřít tak velký soubor v editoru (mcedit, nano). Proto bude nutné soubor rozkouskovat a zase spojit - a budete potřebovat dvojnásobek místa na disku.
Code:
mkdir dump; split -b 1MB dump.sql dump/dump.
/* úpravy zde */
cat dump/* > dump2.sql; rm -r dump/
Dále je vhodné na začátek dumpu přidat tyto řádky snižující zátěž při importu:
Code:
SET foreign_key_checks=0;
SET sql_log_bin=0;
SET unique_checks=0;
A za každý CREATE TABLE, kde budou stotisíce řádků vložíme:
Code:
ALTER TABLE tablename DISABLE KEYS;
Soubory zase spojíme a už jen provedeme čistý import:
[code]mysql -uroot -pheslo dbname
Coffee phreak!