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
mysql
usł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.cnf
jako ścieżkę do katalogu danych. -
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
-
Skopiuj katalog danych MySQL do lokalizacji przechowywania.
cp
polecenie,rsync
lub inne metody będą działać dobrze, ale użyjemytar
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/*
-
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
mysql
usł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/mysql
do innej lokalizacji, jeśli chcesz je zachować z jakiegokolwiek powodu, lub całkowicie je usunąć. Utwórz nowy pustymysql
folder, 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