sql >> Databáze >  >> RDS >> Mysql

Vytvářejte fyzické zálohy databází MariaDB nebo MySQL

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

  1. Pokud neběžíte v režimu obnovy (relace Finnix), zastavte mysql služba:

    systemctl stop mysql
    
  2. 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.

  3. 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
    
  4. Zkopírujte datový adresář MySQL do úložiště. cp příkaz rsync , nebo jiné metody budou fungovat dobře, ale my použijeme tar 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/*
    
  5. Restartujte službu MySQL:

    systemctl restart mysql
    

Obnovení zálohy

  1. 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
    
  2. Zastavte mysql služba:

    systemctl stop mysql
    
  3. 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 .
    
  4. 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
    
  5. Zkopírujte zálohovaný databázový systém do prázdné složky:

    mv ~/var/lib/mysql/* /var/lib/mysql
    
  6. Nastavte správná oprávnění pro soubory, které jste právě obnovili:

    chown -R mysql:mysql /var/lib/mysql
    
  7. 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

  1. Jak opravit chybu MySQL 1064

  2. Možnosti Sniffing, Embedding a RECOMPILE

  3. Použití sloupce pořadí řazení v databázové tabulce

  4. MariaDB JSON_CONTAINS() Vysvětleno