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ą
-
Jeśli nie pracujesz w trybie odzyskiwania (sesja Finnix), zatrzymaj
mysqlusługa:systemctl stop mysql -
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.cnfjako ścieżkę do katalogu danych. -
Utwórz katalog do przechowywania kopii zapasowych. Ten przewodnik użyje
/opt/db-backupsale możesz to zmienić, aby dopasować je do swoich potrzeb:mkdir /opt/db-backups -
Skopiuj katalog danych MySQL do lokalizacji przechowywania.
cppolecenie,rsynclub inne metody będą działać dobrze, ale użyjemytardo 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/* -
Uruchom ponownie usługę MySQL:
systemctl restart mysql
Przywróć kopię zapasową
-
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 -
Zatrzymaj
mysqlusługa:systemctl stop mysql -
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 . -
Przenieś bieżącą zawartość
/var/lib/mysqldo innej lokalizacji, jeśli chcesz je zachować z jakiegokolwiek powodu, lub całkowicie je usunąć. Utwórz nowy pustymysqlfolder, do którego chcesz przywrócić kopię zapasową DMBS.mv /var/lib/mysql /var/lib/mysql-old mkdir /var/lib/mysql -
Skopiuj kopię zapasową systemu bazy danych do pustego folderu:
mv ~/var/lib/mysql/* /var/lib/mysql -
Ustaw odpowiednie uprawnienia dla właśnie przywróconych plików:
chown -R mysql:mysql /var/lib/mysql -
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