MySQL: jak wykonać kopię zapasową (zrzut) i przywrócić bazę danych za pomocą mysqldump

Ten artykuł pokazuje właściwy sposób, jak zrzucić i przywrócić bazę danych MySQL z wiersza poleceń w Linuksie za pomocą poleceń mysqldump i mysql.

jeśli używasz baz danych MySQL lub MariaDB, bardzo ważne jest, aby zrozumieć, jak wykonać kopię zapasową i przywrócić dane. Ponadto musisz regularnie tworzyć kopie zapasowe bazy danych, co pomoże Ci przywrócić dane, jeśli aplikacja ulegnie awarii lub dane zostaną uszkodzone przez awarię systemu.

MySQL i MariaDB zawierają narzędzia wiersza poleceń, których można użyć do szybkiego i łatwego zrzutu i przywracania baz danych. Narzędzie mysqldump służy do eksportowania zawartości bazy danych do pliku tekstowego, podczas gdy klient mysql może być użyty do importowania danych z pliku tekstowego do bazy danych MySQL/MariaDB.

Jak korzystać z polecenia MySQL Dump

narzędzie wiersza poleceń mysqldump eksportuje bazy danych do plików tekstowych SQL. Innymi słowy, jest on używany do pobierania zrzutu bazy danych MySQL.

składnia polecenia mysqldump jest podana poniżej:

mysqldump -u -p > .sql

gdzie:

  • nazwa użytkownika to nazwa użytkownika MySQL/MariaDB.
  • – P pytanie o hasło dla tego użytkownika.
  • database_name to nazwa bazy danych, którą chcesz wykonać.
  • nazwa pliku.sql jest pełną ścieżką do pliku zrzutu sql, który będzie zawierał kopię zapasową.

procedury, funkcje, widoki i zdarzenia bazy danych są zrzucane w momencie tworzenia kopii zapasowej.

mysqldump: Utwórz kopię zapasową pojedynczej bazy danych MySQL

w tym przykładzie baza danych ma nazwę my_wordpress. Zastąp ją nazwą bazy danych, którą chcesz wyeksportować. Zgodnie ze składnią plik kopii zapasowej zostanie utworzony w bieżącej lokalizacji.

mysqldump -u root -p my_wordpress > my_wordpress_backup.sql

po uruchomieniu polecenia wprowadź hasło administratora MySQL.

to tworzy plik zrzutu MySQL o nazwie my_wordpress_backup.sql, który zawiera wszystkie instrukcje SQL do tworzenia tabel i przywracania danych do istniejącej bazy danych. Jeśli podczas eksportowania wystąpią jakiekolwiek błędy, mysqldump wydrukuje je na ekranie.

polecenie nie wyświetli żadnego obrazu, ale możesz sprawdzić zawartość my_wordpress_backup.sql za pomocą polecenia head, aby sprawdzić, czy jest to poprawny plik zrzutu MySQL.

head -n 5 my_wordpress_backup.sql
-- MariaDB dump 10.19 Distrib 10.5.9-MariaDB, for Linux (x86_64)-- Host: localhost Database: my_wordpress -- Server version 10.3.27-MariaDB-0+deb10u1

mysqldump: Kopia zapasowa wielu baz danych MySQL

aby wykonać kopię zapasową wielu baz danych MySQL za pomocą jednego polecenia, musisz użyć opcji --databases, a następnie listy baz danych, które chcesz wykonać. Ponadto możesz umieścić plik wynikowy w wybranej lokalizacji.

uruchom następujące polecenie, aby utworzyć plik zrzutu MySQL my_backup.sql w katalogu /home/backups dwóch baz danych o nazwie my_wordpress i ftpusers.

mysqldump -u root -p --databases my_wordpress ftpusers > /home/backups/my_backup.sql 

mysqldump: Utwórz kopię zapasową wszystkich baz danych MySQL

użyj opcji --all-databases, aby wykonać kopię zapasową wszystkich baz danych MySQL:

mysqldump -u root -p --all-databases > all_db_backup.sql

Jak utworzyć skompresowaną kopię zapasową bazy danych MySQL

jeśli rozmiar bazy danych jest bardzo duży, dobrym pomysłem jest skompresowanie wyjścia. Aby to zrobić, po prostu przeprowadź wyjście do polecenia gzip i przekieruj je do pliku, Jak pokazano poniżej:

mysqldump -u root -p my_wordpress | gzip > my_wordpress_backup.sql.gz

mysql: Przywróć MySQL z pliku zrzutu MySQL

aby przywrócić kopię zapasową utworzoną za pomocą mysqldump, musisz użyć polecenia mysql.

mysql -u -p < .sql

gdzie

  • nazwa użytkownika to nazwa użytkownika MySQL/MariaDB.
  • – P pytanie o hasło dla tego użytkownika.
  • nazwa_ bazy danych to nazwa bazy danych, w której chcesz przywrócić.
  • nazwa pliku.sql jest pełną ścieżką do pliku zrzutu sql zawierającego kopię zapasową.

mysql: Przywróć pojedynczą bazę danych MySQL

możesz przywrócić wszystkie tabele z pliku zrzutu MySQL dowolnej bazy danych.

przywracanie odbywa się po prostu za pomocą poniższego polecenia, gdzie ponownie określamy użytkownika i mamy zostać poproszony o hasło, i przekazujemy plik my_wordpress_backup.sql do bazy danych my_wordpress.

mysql -u root -p my_wordpress < my_wordpress_backup.sql

zostaniesz poproszony o podanie hasła użytkownika MySQL.

po zakończeniu tej operacji baza danych powinna być dostępna w uruchomionej instancji MySQL. Plik zrzutu MySQL, który został zaimportowany, nadal będzie istniał, więc możesz go bezpiecznie przechowywać w tym momencie lub usunąć, jeśli nie jest już potrzebny.

mysql: Przywróć wszystkie bazy danych MySQL

możesz przywrócić wszystkie bazy danych dowolnego serwera MySQL do innego serwera MySQL z pliku zrzutu MySQL.

mysql -u root -p < all_db_backup.sql

wniosek

teraz możesz regularnie tworzyć kopie zapasowe plików bazy danych i przywracać dane w razie potrzeby, wykonując powyższe kroki.

ten samouczek dotyczy również migracji na nowy serwer. Wystarczy wykonać kopię zapasową bazy danych na starym serwerze i przesłać plik zrzutu MySQL na nowy serwer. Utwórz docelową bazę danych na nowym serwerze, a następnie uruchom przesłany plik zrzutu MySQL w nowej bazie danych. Oprócz tego powinieneś również odtworzyć użytkowników i uprawnienia ze starego serwera MySQL na nowy.

aby uzyskać bardziej szczegółowe informacje, oto link do oficjalnej dokumentacji.

Leave a Reply