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.