Zatímco mysqldump
nástroj je preferovanou metodou zálohování pro databázi MariaDB nebo MySQL nebo databázový systém, funguje pouze tehdy, když je databázový server přístupný a běží. Pokud databázi nelze spustit nebo je hostitelský systém nedostupný, lze databázi přesto přímo zkopírovat.
Fyzická záloha je často nutné v situacích, kdy máte přístup pouze k prostředí pro obnovu (jako je Finnix), kde připojujete systémové disky jako externí úložná zařízení. Pokud si chcete přečíst o logických zálohách pomocí mysqldump
,viz našeho průvodce k tomuto tématu.
Pro zjednodušení bude v této příručce používán název MySQL, ale pokyny budou fungovat pro MySQL i MariaDB.
Poznámka Kroky v této příručce vyžadují oprávnění root. Přihlaste se jako uživatel root pomocí su -
než začnete.
Vytvořit zálohu
-
Pokud neběžíte v režimu obnovy (relace Finnix), zastavte
mysql
služba:systemctl stop mysql
-
Vyhledejte adresář databáze. Mělo by to být
/var/lib/mysql/
na většině systémů, ale pokud tento adresář neexistuje, prozkoumejte/etc/mysql/my.cnf
pro cestu k datovému adresáři. -
Vytvořte adresář pro ukládání záloh. Tato příručka bude používat
/opt/db-backups
ale můžete to změnit, aby vyhovovalo vašim potřebám:mkdir /opt/db-backups
-
Zkopírujte datový adresář MySQL do úložiště.
cp
příkazrsync
, nebo jiné metody budou fungovat dobře, ale my použijemetar
pro rekurzivní kopírování a gzip zálohy najednou. Podle potřeby změňte adresář databáze, název souboru zálohy a cílový adresář;-$(date +%F)
přidání k příkazu vloží časové razítko do názvu souboru.tar cfvz /opt/db-backups/db-$(date +%F).tar.gz /var/lib/mysql/*
-
Restartujte službu MySQL:
systemctl restart mysql
Obnovení zálohy
-
Změňte svůj pracovní adresář na místo, kde můžete extrahovat výše vytvořený tarball. V tomto příkladu je použit domovský adresář aktuálního uživatele:
cd
-
Zastavte
mysql
služba:systemctl stop mysql
-
Extrahujte tarball do pracovního adresáře. Změňte název souboru tarballu v příkazu na ten s datem, ke kterému chcete provést obnovu.
tar zxvf /opt/db-backups/db-archive.tar.gz -C .
-
Přesunout aktuální obsah
/var/lib/mysql
na jiné místo, chcete-li si je z nějakého důvodu ponechat, nebo je zcela odstranit. Vytvořte nový prázdnýmysql
složky, do které chcete obnovit zálohovaný DMBS.mv /var/lib/mysql /var/lib/mysql-old mkdir /var/lib/mysql
-
Zkopírujte zálohovaný databázový systém do prázdné složky:
mv ~/var/lib/mysql/* /var/lib/mysql
-
Nastavte správná oprávnění pro soubory, které jste právě obnovili:
chown -R mysql:mysql /var/lib/mysql
-
Restartujte službu MySQL:
systemctl restart mysql
Další informace
Další informace o tomto tématu můžete získat v následujících zdrojích. Přestože jsou poskytovány v naději, že budou užitečné, vezměte prosím na vědomí, že nemůžeme ručit za přesnost nebo aktuálnost externě hostovaných materiálů.
- Přehled zálohování a obnovení; Knihovna MariaDB
- Metody zálohování databáze; Referenční příručka MySQL