MySQL dublēšanas un atjaunošanas komandas datu bāzes administrēšanai


Šajā rakstā ir parādīti vairāki praktiski piemēri par to, kā veikt dažādas MySQL datu bāzu dublēšanas darbības, izmantojot komandu mysqldump, kā arī mēs redzēsim, kā tos atjaunot, izmantojot mysql un mysqlimport komandas Linux.

mysqldump ir komandrindas klienta programma, to izmanto, lai vietējā vai attālā MySQL datu bāzi vai datu bāzu kolekciju dublēšanai ievietotu vienā plakanā failā.

Mēs pieņemam, ka jums jau ir instalēta MySQL Linux sistēmā ar administratīvajām privilēģijām, un mēs pieņemam, ka jums jau ir maz zināšanu par MySQL. Ja jums nav instalēta MySQL vai jums nav MySQL iedarbības, izlasiet mūsu tālāk minētos rakstus.

  1. Instalējiet MySQL serveri RHEL/CentOS 6-5, Fedora 17-12
  2. 20 MySQL komandas datu bāzes administrēšanai

Kā dublēt MySQL datu bāzi?

Lai uzņemtu MySQL datu bāzes vai datu bāzu dublējumu, datu bāzei jābūt datu bāzes serverī, un jums tai jābūt pieejamai. Komandas formāts būtu.

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

Minētās komandas parametri ir šādi.

  1. [lietotājvārds]: derīgs MySQL lietotājvārds.
  2. [parole]: derīga MySQL parole lietotājam.
  3. [database_name]: derīgs datu bāzes nosaukums, kuru vēlaties dublēt.
  4. [dump_file.sql]: rezerves ģenerējamā faila nosaukums, kuru vēlaties ģenerēt.

Lai izveidotu vienas datu bāzes dublējumu, izmantojiet komandu šādi. Komanda izgāzīs datu bāzes [rsyslog] struktūru ar datiem vienā izgāšanas failā ar nosaukumu rsyslog.sql.

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

Ja vēlaties veikt vairāku datu bāzu dublēšanu, palaidiet šo komandu. Šis komandas piemērs ņem datu bāzu [rsyslog, syslog] struktūras un datu dublējumu vienā failā ar nosaukumu rsyslog_syslog.sql.

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

Ja vēlaties veikt visu datu bāzu dublējumu, izmantojiet šādu komandu ar opciju –all-database. Šī komanda uzņem visu datu bāzu, to struktūras un datu dublējumu failā, ko sauc par all-databases.sql.

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

Ja vēlaties tikai datu bāzes struktūras dublējumu bez datiem, komandā izmantojiet opciju –no-data. Zemāk esošā komanda eksportē datu bāzes [rsyslog] Struktūra failā rsyslog_structure.sql.

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

Lai dublētu datu bāzi tikai bez struktūras, pēc tam ar komandu izmantojiet opciju –no-create-info. Šī komanda pārņem datu bāzes [rsyslog] datus failā rsyslog_data.sql.

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

Izmantojot zemāk redzamo komandu, varat veikt vienas tabulas vai noteiktu datu bāzes tabulu dublējumu. Piemēram, šī komanda ņem tikai tabulas wp_posts dublējumu no datu bāzes WordPress.

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

Ja vēlaties no datu bāzes ņemt vairāku vai noteiktu tabulu dublējumu, tad katru tabulu atdaliet ar atstarpi.

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

Zemāk redzamā komanda attālā servera [172.16.25.126] datu bāzes [galerija] dublējumu ievieto lokālajā serverī.

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

Kā atjaunot MySQL datu bāzi?

Iepriekš minētajā apmācībā mēs redzējām, kā veikt tikai datu bāzu, tabulu, struktūru un datu dublēšanu, tagad mēs redzēsim, kā tos atjaunot, izmantojot šādu formātu.

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

Lai atjaunotu datu bāzi, mērķa mašīnā jāizveido tukša datu bāze un datu bāze jāatjauno, izmantojot komandu msyql. Piemēram, šī komanda atjaunos failu rsyslog.sql rsyslog datu bāzē.

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

Ja vēlaties atjaunot datu bāzi, kas jau pastāv mērķa mašīnā, jums būs jāizmanto mysqlimport komanda.

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

Tādā pašā veidā jūs varat arī atjaunot datu bāzes tabulas, struktūras un datus. Ja jums patika šis raksts, dalieties tajā ar draugiem.