Kód: Vybrat vše
mysqldump -u uzivatel -p --all-databases --skip-lock-tables> vsechny_databaze.sql
Rovnou je možné zapnout komprimaci:
Kód: Vybrat vše
mysqldump -u uzivatel -p --all-databases --skip-lock-tables | gzip -1 -c> vsechny_databaze.sql.gz
Pokud vynecháme přepínač "--skip-lock-tables", tak se export může zaseknout na nějaké uzamknuté tabulce a snadno nastane chyba při následném importu nedokončeného exportu. Je dobré myslet i na ty uzamknuté tabulky a zajistit jejich odemčení (opravu)
Pokud chceme exportovat jen nějaké konkrétní tabulky konkrétní databáze, tak použijeme příkaz:
Kód: Vybrat vše
mysqldump -u uzivatel -p jmeno_databaze tabulka1 tabulka2 tabulka3 > export_tabulek.sql
Kód: Vybrat vše
mysql -u uzivatel -p -h localhost jmeno_databaze < databaze.sql
Import gzipovaného souboru provedeme příkazem:
Kód: Vybrat vše
zcat databaze.sql.gz | mysql -u uzivatel -p databaze
A teď ta slíbená míra komprese:
Stupeň komprese | čas | velikost souboru | zápis na disk (Mbit/s) |
čistý dump | 160 | 3302 | 12.6 |
1 | 104 | 957 | 72 |
3 | 120 | 906 | 29.2 |
6 | 154 | 825 | 5 |
9 | 311 | 805 | 2.5 |
Z měření vyplývá, že nejvýhodnější pro dump je stupeň komprese 1. Dump je hotový nejrychleji a tedy server není zbytečně zatížen delší čas. Zároveň se množství zapasaných/přenesených dat zmenšilo víc jak 3x. Vyšší stupně komprese již výrazně navyšují čas běhu dumpu a úspora dat již není tak výrazná.