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.
- Installige MySQL-i server RHEL/CentOS 6-5, Fedora 17-12
- 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.
- [kasutajanimi]: kehtiv MySQL-i kasutajanimi.
- [parool]: kasutaja jaoks kehtiv MySQL-i parool.
- [andmebaasi_nimi]: kehtiv andmebaasi nimi, mille soovite varundada.
- [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.