GNU/Linux >> Znalost Linux >  >> Linux

Jak naplánovat zálohu databáze MySQL na Ubuntu

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.


Linux
  1. Jak zkopírovat databázi MySQL

  2. MySQL:Jak zálohovat (vypsat) a obnovit databázi pomocí mysqldump

  3. Jak nainstalovat databázi MySQL na Ubuntu 20.04

  1. Jak vytvořit zálohu databází MySQL pomocí mysqldump na Ubuntu 20.04

  2. Jak nainstalovat MySQL na Ubuntu 22.04

  3. Duplikovat celou databázi MySQL

  1. Jak nainstalovat MySQL 8.0 v Ubuntu 18.04

  2. Jak zálohovat a obnovit databázi MySQL

  3. Jak zálohovat jednu databázi MySQL z příkazového řádku