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
mysqlsluž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.cnfpro cestu k datovému adresáři. -
Vytvořte adresář pro ukládání záloh. Tato příručka bude používat
/opt/db-backupsale 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ě.
cppříkazrsync, nebo jiné metody budou fungovat dobře, ale my použijemetarpro 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
mysqlsluž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/mysqlna jiné místo, chcete-li si je z nějakého důvodu ponechat, nebo je zcela odstranit. Vytvořte nový prázdnýmysqlslož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