Provádění pravidelných záloh je nezbytným postupem pro jakýkoli typ dat. Tento tutoriál vám pomůže dozvědět se o některých nejpoužívanějších nástrojích pro zálohování a obnovu vaší databáze MySQL.
Nejprve se budete muset připojit k vašemu serveru přes SSH připojení. Pokud jste tak ještě neučinili, doporučujeme vám postupovat podle našeho průvodce a bezpečně se připojit pomocí SSH. V případě lokálního serveru můžete přejít k dalšímu bodu a otevřít terminál vašeho serveru.
Použijte mysqldump
Mysqldump je aplikace, která je vždy dostupná v každé instalaci MySQL a umožňuje provádět kompletní výpis vašich dat v textovém formátu.
Syntaxe příkazu je následující:
    $ mysqldump -u [username] -p [database] > backup.sql Spuštěním tohoto příkazu naleznete kompletní zálohu databáze uvedenou v souboru backup.sql.
Pro obnovení zálohy použijte klienta MySQL následovně:
    $ mysql -u [username] -p [database] < backup.sql V závislosti na velikosti databáze mohou tyto záložní soubory dosáhnout značné velikosti, což znesnadňuje jejich přenos nebo kopírování. Chcete-li optimalizovat velikost zálohy databáze, můžete ke komprimaci souboru použít gzip:
    $ mysqldump -u [username] -p [database] | gzip > backup.sql.gz Pokud si přejete, můžete také automaticky přidat aktuální datum do názvu souboru pomocí:
    $ mysqldump -u [username] -p [database] | gzip > backup_$(date +%F.%H%M%S).sql.gz Pro obnovení použijte místo toho následující syntaxi:
    $ mysql -u [username] -p [database] < backup.sql Poznámky k mysqldump:
Je dobré mít na paměti, že během výpisu a zálohování databáze mysqldump nezaručuje konzistenci dat mezi tabulkami. Pokud během zálohování dojde k operacím zápisu, získaná záloha může být částečná a/nebo poškozená.
Abyste tomuto problému zabránili, aplikace nabízí specifické možnosti:
- --lock-all-tables:blokuje všechny operace zápisu ve všech tabulkách všech databází 
- - lock-tables:tato možnost místo toho nastaví zálohování databázové tabulky v režimu pouze pro čtení. 
Které možnosti zvolit závisí na tom, zda máte data související s více databázemi či nikoli. Ve většině případů je --lock-tables ideálním řešením pro zaručení integrity dat pro každou jednotlivou databázi.
Automatizujte mysqldump prostřednictvím crontab
Chcete-li, aby záloha byla pravidelná, stačí ji přidat do systémového crontab naprogramováním, například jednou denně. Nejprve otevřete crontab spuštěním:
    $ sudo crontab -e Nyní přidejte řádek na konec souboru takto:
    00 23 * * * mysqldump -u [username] -p [database] | gzip > /home/utente/backup.sql.gz Uložením souboru provede systém jednu zálohu denně (ve 23:00) ve vašem uživatelském adresáři a každý den přepíše předchozí zálohu.
Použijte automysqlbackup
Kromě použití mysqldump pomocí ručního exportu záloh se můžete spolehnout na jeden z nejpopulárnějších nástrojů v oboru:automysqlbackup.
Nejprve musíte balíček nainstalovat pomocí apt-get:
    $ sudo apt-get install automysqlbackup Po dokončení instalace bude automysqlbackup provádět denní zálohy v adresáři / var / lib / automysqlbackup. Zálohování můžete také spustit ručně spuštěním:
    $ sudo automysqlbackup Po dokončení můžete aktuální zálohy ověřit jednoduše vypsáním obsahu adresáře:
    $ ls -R /var/lib/automysqlbackup/
    
    /var/lib/automysqlbackup/:
    
    daily  monthly  weekly
                    /var/lib/automysqlbackup/daily:
    
    exampledb  information_schema   performance_schema test  wordpress
                    /var/lib/automysqlbackup/daily/exampledb:
    
    exampledb_2019-08-03_06h48m.Sunday.sql.gz
    
    ... Pokud vše fungovalo správně, všimnete si řady souborů s příponou .sql.gz, jak je uvedeno výše.
Doporučujeme vám pravidelně kontrolovat poslední vytvořené zálohy a ověřovat, že všechny fungují správně.
Přizpůsobení automysqlbackup
Chcete-li změnit frekvenci zálohování automysqlbackup nebo přístupová data potřebná pro přístup k databázi, můžete upravit konfigurační soubor v /etc/default/automysqlbackup.
Některá nastavení jsou:
- USERNAME:uživatelské jméno používané k přihlášení do databáze 
- PASSWORD:heslo databáze 
- DBHOST:IP adresa nebo název hostitele 
- DBNAMES:názvy databází, které mají být zálohovány 
- BACKUPDIR:Adresář pro ukládání záloh 
Po změně požadovaných nastavení uložte soubor, aby se změny projevily.