Hifadhi Nakala ya MySQL na Rejesha Amri za Utawala wa Hifadhidata


Nakala hii inakuonyesha mifano kadhaa ya vitendo juu ya jinsi ya kufanya shughuli nyingi za chelezo za hifadhidata za MySQL kwa kutumia amri ya mysqldump na pia tutaona jinsi ya kuzirejesha kwa msaada wa mysql na mysqlimport amri katika Linux.

mysqldump ni mpango wa mteja wa mstari wa amri, hutumika kutupa hifadhidata ya ndani au ya mbali ya MySQL au mkusanyiko wa hifadhidata kwa chelezo kwenye faili moja bapa.

Tunadhania kuwa tayari una MySQL iliyosakinishwa kwenye mfumo wa Linux wenye mapendeleo ya kiutawala na tunadhania kuwa tayari una kiasi kidogo cha maarifa kwenye MySQL. Ikiwa huna MySQL iliyosakinishwa au huna mfiduo wowote kwa MySQL basi soma makala yetu hapa chini.

  1. Sakinisha Seva ya MySQL kwenye RHEL/CentOS 6-5, Fedora 17-12
  2. Amri 20 za MySQL kwa Utawala wa Hifadhidata

Jinsi ya Kuhifadhi Hifadhidata ya MySQL?

Ili kuchukua chelezo ya hifadhidata au hifadhidata ya MySQL, hifadhidata lazima iwepo kwenye seva ya hifadhidata na lazima uifikie. Umbizo la amri itakuwa.

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

Vigezo vya amri hiyo kama ifuatavyo.

  1. [username] : Jina la mtumiaji halali la MySQL.
  2. [nenosiri] : Nenosiri halali la MySQL kwa mtumiaji.
  3. [database_name] : Jina halali la Hifadhidata ambalo ungependa kuhifadhi.
  4. [dump_file.sql] : Jina la faili ya utupaji chelezo unayotaka kuzalisha.

Ili kuchukua nakala rudufu ya hifadhidata moja, tumia amri kama ifuatavyo. Amri itatupa muundo wa hifadhidata [rsyslog] na data kwenye faili moja ya kutupa inayoitwa rsyslog.sql.

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

Ikiwa unataka kuchukua nakala rudufu ya hifadhidata nyingi, endesha amri ifuatayo. Amri ya mfano ifuatayo inachukua chelezo ya hifadhidata [rsyslog, syslog] muundo na data kwenye faili moja inayoitwa rsyslog_syslog.sql.

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

Ikiwa unataka kuchukua nakala rudufu ya hifadhidata zote, basi tumia amri ifuatayo na chaguo -all-database. Amri ifuatayo inachukua chelezo ya hifadhidata zote pamoja na muundo na data yake katika faili inayoitwa all-databases.sql.

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

Ikiwa unataka tu nakala rudufu ya muundo wa hifadhidata bila data, basi tumia chaguo -no-data katika amri. Hifadhidata ya amri iliyo hapa chini [rsyslog] Muundo katika faili rsyslog_structure.sql.

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

Ili kuhifadhi hifadhidata pekee bila muundo, kisha tumia chaguo -no-create-info na amri. Amri hii huchukua hifadhidata [rsyslog] Data  hadi faili rsyslog_data.sql.

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

Kwa amri iliyo hapa chini unaweza kuchukua nakala rudufu ya jedwali moja au majedwali fulani ya hifadhidata yako. Kwa mfano, amri ifuatayo inachukua tu nakala rudufu ya jedwali la wp_posts kutoka kwa nenopress ya hifadhidata.

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

Ikiwa unataka kuchukua nakala rudufu ya majedwali mengi au fulani kutoka kwa hifadhidata, basi tenganisha kila jedwali na nafasi.

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

Amri iliyo hapa chini inachukua hifadhi rudufu ya seva ya mbali [172.16.25.126] hifadhidata [nyumba ya sanaa] hadi kwenye seva ya ndani.

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

Jinsi ya Kurejesha Hifadhidata ya MySQL?

Katika somo la hapo juu tumeona jinsi ya kuchukua chelezo ya hifadhidata, jedwali, miundo na data pekee, sasa tutaona jinsi ya kuzirejesha kwa kutumia umbizo lifuatalo.

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

Ili kurejesha hifadhidata, lazima uunda hifadhidata tupu kwenye mashine inayolengwa na urejeshe hifadhidata kwa kutumia amri ya msyql. Kwa mfano amri ifuatayo itarejesha faili ya rsyslog.sql kwenye hifadhidata ya rsyslog.

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

Ikiwa unataka kurejesha hifadhidata ambayo tayari iko kwenye mashine inayolengwa, basi utahitaji kutumia amri ya mysqlimport.

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

Kwa njia hiyo hiyo unaweza pia kurejesha meza za database, miundo na data. Ikiwa ulipenda nakala hii, basi ushiriki na marafiki zako.