Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Twórz fizyczne kopie zapasowe baz danych MariaDB lub MySQL

Podczas gdy mysqldump narzędzie jest preferowaną metodą tworzenia kopii zapasowej bazy danych MariaDB lub MySQL lub systemu baz danych, działa tylko wtedy, gdy serwer bazy danych jest dostępny i uruchomiony. Jeśli baza danych nie może zostać uruchomiona lub system hosta jest niedostępny, baza danych może zostać skopiowana bezpośrednio.

fizyczna kopia zapasowa jest często konieczne w sytuacjach, gdy masz dostęp tylko do środowiska przywracania (takiego jak Finnix), w którym montujesz dyski systemowe jako zewnętrzne urządzenia pamięci masowej. Jeśli chcesz przeczytać o logicznych kopiach zapasowych używając mysqldump , zobacz nasz przewodnik na ten temat.

Dla uproszczenia, w tym przewodniku będzie używana nazwa MySQL, ale instrukcje będą działać zarówno dla MySQL, jak i MariaDB.

Uwaga Czynności opisane w tym przewodniku wymagają uprawnień administratora. Zaloguj się jako użytkownik root za pomocą su - zanim zaczniesz.

Utwórz kopię zapasową

  1. Jeśli nie pracujesz w trybie odzyskiwania (sesja Finnix), zatrzymaj mysql usługa:

    systemctl stop mysql
    
  2. Znajdź swój katalog bazy danych. Powinien to być /var/lib/mysql/ w większości systemów, ale jeśli ten katalog nie istnieje, sprawdź /etc/mysql/my.cnf jako ścieżkę do katalogu danych.

  3. Utwórz katalog do przechowywania kopii zapasowych. Ten przewodnik użyje /opt/db-backups ale możesz to zmienić, aby dopasować je do swoich potrzeb:

    mkdir /opt/db-backups
    
  4. Skopiuj katalog danych MySQL do lokalizacji przechowywania. cp polecenie, rsync lub inne metody będą działać dobrze, ale użyjemy tar do rekursywnego kopiowania i gzipowania kopii zapasowej za jednym razem. Zmień katalog bazy danych, nazwę pliku kopii zapasowej i katalog docelowy zgodnie z potrzebami; -$(date +%F) dodanie do polecenia wstawi znacznik czasu do nazwy pliku.

    tar cfvz /opt/db-backups/db-$(date +%F).tar.gz /var/lib/mysql/*
    
  5. Uruchom ponownie usługę MySQL:

    systemctl restart mysql
    

Przywróć kopię zapasową

  1. Zmień swój katalog roboczy na miejsce, w którym możesz rozpakować utworzony powyżej archiwum tar. W tym przykładzie używany jest katalog domowy bieżącego użytkownika:

    cd
    
  2. Zatrzymaj mysql usługa:

    systemctl stop mysql
    
  3. Wypakuj archiwum tar do katalogu roboczego. Zmień nazwę pliku tarballa w poleceniu na tę z datą, do której chcesz przywrócić.

     tar zxvf /opt/db-backups/db-archive.tar.gz -C .
    
  4. Przenieś bieżącą zawartość /var/lib/mysql do innej lokalizacji, jeśli chcesz je zachować z jakiegokolwiek powodu, lub całkowicie je usunąć. Utwórz nowy pusty mysql folder, do którego chcesz przywrócić kopię zapasową DMBS.

    mv /var/lib/mysql /var/lib/mysql-old
    mkdir /var/lib/mysql
    
  5. Skopiuj kopię zapasową systemu bazy danych do pustego folderu:

    mv ~/var/lib/mysql/* /var/lib/mysql
    
  6. Ustaw odpowiednie uprawnienia dla właśnie przywróconych plików:

    chown -R mysql:mysql /var/lib/mysql
    
  7. Uruchom ponownie usługę MySQL:

    systemctl restart mysql
    

Więcej informacji

Dodatkowe informacje na ten temat można znaleźć w poniższych zasobach. Chociaż są one dostarczane w nadziei, że będą przydatne, należy pamiętać, że nie możemy ręczyć za dokładność ani aktualność materiałów hostowanych zewnętrznie.

  • Omówienie tworzenia kopii zapasowych i przywracania; Biblioteka MariaDB
  • Metody tworzenia kopii zapasowych bazy danych; Podręcznik MySQL

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. O Neo4j

  2. Wybierz wiersz z najnowszą datą na użytkownika

  3. Jak zainstalować MySQL w systemie Windows

  4. Jak mogę powtórzyć identyfikator zasobu #6 z odpowiedzi MySql w PHP?

  5. SQL Wybieranie z dwóch tabel z wewnętrznym sprzężeniem i limitem