Wyszukiwanie w witrynie

Jak tworzyć kopie zapasowe i przywracać bazy danych MySQL/MariaDB w systemie Linux


W tym artykule przedstawiono kilka praktycznych przykładów wykonywania różnych operacji tworzenia kopii zapasowych baz danych MySQL/MariaDB za pomocą polecenia mysqldump, a także zobaczymy, jak je przywrócić za pomocą Polecenie mysql i mysqlimport w Linuksie.

mysqldump to program kliencki uruchamiany z wiersza poleceń, używany do zrzutu lokalnych lub zdalnych baz danych MySQL lub kolekcji baz danych w celu utworzenia kopii zapasowej w jednym płaskim pliku.

Zakładamy, że masz już zainstalowany MySQL na systemie Linux z uprawnieniami administracyjnymi i uważamy, że masz już niewielką wiedzę na temat MySQL .

Jeśli nie masz zainstalowanego MySQL lub nie masz kontaktu z MySQL, przeczytaj nasze artykuły poniżej.

  • Jak zainstalować MySQL w dystrybucjach opartych na RHEL
  • Jak zainstalować MySQL na Rocky Linux i AlmaLinux
  • Jak zainstalować MySQL w systemie Ubuntu Linux
  • Jak zainstalować MySQL na Debianie
  • 20 poleceń MySQL (Mysqladmin) do administrowania bazami danych w systemie Linux
  • 12 najlepszych praktyk dotyczących bezpieczeństwa MySQL/MariaDB dla systemu Linux

Jak wykonać kopię zapasową bazy danych MySQL w systemie Linux?

Aby wykonać kopię zapasową baz danych MySQL lub baz danych, baza danych musi istnieć na serwerze bazy danych i musisz mieć do niej dostęp. Format polecenia będzie następujący.

mysqldump -u [username] –p[password] [database_name] > [dump_file.sql]

Parametry wspomnianego polecenia są następujące.

  • [nazwa użytkownika]: prawidłowa nazwa użytkownika MySQL.
  • [hasło]: prawidłowe hasło MySQL dla użytkownika.
  • [nazwa_bazy_danych]: prawidłowa nazwa bazy danych, dla której chcesz wykonać kopię zapasową.
  • [dump_file.sql]: nazwa pliku zrzutu kopii zapasowej, który chcesz wygenerować.

Jak wykonać kopię zapasową pojedynczej bazy danych MySQL?

Aby wykonać kopię zapasową pojedynczej bazy danych, użyj poniższego polecenia. Polecenie zrzuci strukturę bazy danych [rsyslog] zawierającą dane do pojedynczego pliku zrzutu o nazwie rsyslog.sql.

mysqldump -u root -ptecmint rsyslog > rsyslog.sql

Jak wykonać kopię zapasową wielu baz danych MySQL?

Jeśli chcesz wykonać kopię zapasową wielu baz danych, uruchom następujące polecenie. Poniższe przykładowe polecenie tworzy kopię zapasową struktury i danych baz danych [rsyslog, syslog] w jednym pliku o nazwie rsyslog_syslog.sql.

mysqldump -u root -ptecmint --databases rsyslog syslog > rsyslog_syslog.sql

Jak wykonać kopię zapasową wszystkich baz danych MySQL?

Jeśli chcesz wykonać kopię zapasową wszystkich baz danych, użyj poniższego polecenia z opcją –all-database. Poniższe polecenie powoduje utworzenie kopii zapasowej wszystkich baz danych wraz z ich strukturą i danymi w pliku o nazwie all-databases.sql.

mysqldump -u root -ptecmint --all-databases > all-databases.sql

Jak wykonać kopię zapasową tylko struktury bazy danych MySQL?

Jeśli chcesz tylko wykonać kopię zapasową struktury bazy danych bez danych, użyj w poleceniu opcji –no-data. Poniższe polecenie eksportuje bazę danych [rsyslog] Strukturę do pliku rsyslog_structure.sql.

mysqldump -u root -ptecmint -–no-data rsyslog > rsyslog_structure.sql

Jak wykonać kopię zapasową tylko danych bazy danych MySQL?

Aby wykonać kopię zapasową danych bez struktury, użyj opcji –no-create-info w poleceniu. To polecenie przenosi bazę danych [rsyslog] Dane do pliku rsyslog_data.sql.

mysqldump -u root -ptecmint --no-create-db --no-create-info rsyslog > rsyslog_data.sql

Jak wykonać kopię zapasową pojedynczej tabeli bazy danych?

Za pomocą poniższego polecenia możesz wykonać kopię zapasową pojedynczej tabeli lub określonych tabel w bazie danych. Na przykład poniższe polecenie pobiera tylko kopię zapasową tabeli wp_posts z bazy danych wordpress.

mysqldump -u root -ptecmint wordpress wp_posts > wordpress_posts.sql

Jak wykonać kopię zapasową wielu tabel bazy danych?

Jeśli chcesz wykonać kopię zapasową wielu lub niektórych tabel z bazy danych, oddziel każdą tabelę spacją.

mysqldump -u root -ptecmint wordpress wp_posts wp_comments > wordpress_posts_comments.sql

Jak wykonać kopię zapasową zdalnej bazy danych MySQL

Poniższe polecenie wykonuje kopię zapasową bazy danych [172.16.25.126] serwera zdalnego [galeria] na serwerze lokalnym.

mysqldump -h 172.16.25.126 -u root -ptecmint gallery > gallery.sql

Jak przywrócić bazę danych MySQL?

W powyższym samouczku widzieliśmy, jak wykonać kopię zapasową samych baz danych, tabel, struktur i danych, teraz zobaczymy, jak je przywrócić przy użyciu następującego formatu.

# mysql -u [username] –p[password] [database_name] < [dump_file.sql]

Jak przywrócić pojedynczą bazę danych MySQL

Aby przywrócić bazę danych, musisz utworzyć pustą bazę danych na komputerze docelowym i przywrócić bazę danych za pomocą polecenia msyql. Na przykład poniższe polecenie przywróci plik rsyslog.sql do bazy danych rsyslog.

mysql -u root -ptecmint rsyslog < rsyslog.sql

Jeśli chcesz przywrócić bazę danych, która już istnieje na docelowym komputerze, będziesz musiał użyć polecenia mysqlimport.

mysqlimport -u root -ptecmint rsyslog < rsyslog.sql

W ten sam sposób możesz także przywracać tabele, struktury i dane bazy danych. Jeśli spodobał Ci się ten artykuł, udostępnij go swoim znajomym.