MySQL-i varundamise ja taastamise käsud andmebaasi haldamiseks


See artikkel näitab teile mitmeid praktilisi näiteid MySQL-i andmebaaside erinevate varundamistoimingute tegemisest käsu mysqldump abil. Samuti näeme, kuidas neid taastada Linuxi mysql- ja mysqlimport-käskude abil.

mysqldump on käsurea klientprogramm, seda kasutatakse kohaliku või serveri MySQL-i andmebaasi või andmebaaside kogumise varundamiseks ühe kindla faili.

Eeldame, et teil on MySQL juba installitud Linuxi süsteemi administraatoriõigustega ja eeldame, et teil on juba vähe teadmisi MySQL-ist. Kui teil pole MySQL-i installitud või teil pole MySQL-iga kokkupuudet, lugege meie allolevaid artikleid.

  1. Installige MySQL-i server RHEL/CentOS 6-5, Fedora 17-12
  2. 20 MySQL-i käsku andmebaaside haldamiseks

Kuidas varundada MySQL-i andmebaasi?

MySQL-i andmebaasi või andmebaaside varukoopiate tegemiseks peab andmebaas olema andmebaasiserveris olemas ja teil peab olema sellele juurdepääs. Käsu formaat oleks.

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

Nimetatud käsu parameetrid on järgmised.

  1. [kasutajanimi]: kehtiv MySQL-i kasutajanimi.
  2. [parool]: kasutaja jaoks kehtiv MySQL-i parool.
  3. [andmebaasi_nimi]: kehtiv andmebaasi nimi, mille soovite varundada.
  4. [dump_file.sql]: genereeritava varukoopia faili nimi.

Ühe andmebaasi varukoopia tegemiseks kasutage käsku järgmiselt. Käsk loob andmebaasi [rsyslog] struktuuri koos andmetega ühte prügifaili nimega rsyslog.sql.

# mysqldump -u root -ptecmint rsyslog > rsyslog.sql

Kui soovite varundada mitu andmebaasi, käivitage järgmine käsk. Järgmine näite näide varundab andmebaaside [rsyslog, syslog] struktuuri ja andmed ühte faili nimega rsyslog_syslog.sql.

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

Kui soovite varundada kõik andmebaasid, kasutage järgmist käsku valikuga –all-database. Järgmine käsk viib kõigi andmebaaside varunduse koos nende struktuuri ja andmetega faili nimega all-andmebaases.sql.

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

Kui soovite andmebaasistruktuuri varundamist ainult ilma andmeteta, kasutage käsus valikut –no-data. Allpool olev käsk ekspordib andmebaasi [rsyslog] Structure failiks rsyslog_structure.sql.

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

Andmebaasi andmete varundamiseks ainult ilma struktuurita kasutage käsuga valikut –no-create-info. See käsk viib andmebaasi [rsyslog] andmed faili rsyslog_data.sql.

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

Alloleva käsuga saate varundada ühe tabeli või oma andmebaasi teatud tabelid. Näiteks võtab järgmine käsk tabeli wp_posts varukoopia ainult andmebaasist Wordpress.

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

Kui soovite andmebaasist varundada mitu või kindlat tabelit, eraldage iga tabel tühikuga.

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

Allolev käsk viib kaugserveri [172.16.25.126] andmebaasi [galerii] varundamise lokaalsesse serverisse.

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

Kuidas taastada MySQL-i andmebaas?

Ülaltoodud õpetuses oleme näinud, kuidas varundada ainult andmebaase, tabeleid, struktuure ja andmeid, nüüd näeme, kuidas neid järgmise vormingu abil taastada.

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

Andmebaasi taastamiseks peate looma sihtmasinasse tühja andmebaasi ja taastama andmebaasi käsu msyql abil. Näiteks taastab järgmine käsk rsyslog.sql-faili rsyslogi andmebaasi.

# mysql -u root -ptecmint rsyslog < rsyslog.sql

Kui soovite taastada sihtmasinas juba olemasoleva andmebaasi, peate kasutama käsku mysqlimport.

# mysqlimport -u root -ptecmint rsyslog < rsyslog.sql

Samamoodi saate taastada ka andmebaasi tabeleid, struktuure ja andmeid. Kui teile see artikkel meeldis, siis jagage seda oma sõpradega.