Giunsa Pagbalhin ang Tanan nga Mga Database sa MySQL Gikan sa Karaan hangtod sa Bag-ong Server


Ang pagbalhin o Pagbalhin sa database sa MySQL/MariaDB tali sa mga server kasagarang mokuha lang ug pipila ka sayon nga mga lakang, apan ang pagbalhin sa datos mahimong magdugay depende sa gidaghanon sa datos nga gusto nimong ibalhin.

Niini nga artikulo, mahibal-an nimo kung giunsa pagbalhin o pagbalhin ang tanan nimo nga database sa MySQL/MariaDB gikan sa daan nga server sa Linux ngadto sa usa ka bag-ong server, malampuson nga i-import kini ug kumpirmahi nga naa ang datos.

  • Siguruha nga adunay parehas nga bersyon sa MySQL nga na-install sa duha nga server nga adunay parehas nga pag-apod-apod.
  • Siguruha nga adunay igo nga libre nga wanang sa duha nga server aron mahuptan ang database dump file ug ang imported nga database.
  • Ayaw gayud hunahunaa ang pagbalhin sa data nga direktoryo sa database ngadto sa laing server. Ayaw pagsamok sa internal nga istruktura sa database, kung buhaton nimo, mag-atubang ka mga problema sa umaabot.

I-export ang MySQL Databases sa Dump File

Una magsugod pinaagi sa pag-login sa imong daan nga server ug ihunong ang mysql/mariadb nga serbisyo gamit ang systemctl command sama sa gipakita.

# systemctl stop mariadb
OR
# systemctl stop mysql

Dayon ihulog ang tanan nimong MySQL database sa usa ka file gamit ang mysqldump command.

# mysqldump -u [user] -p --all-databases > all_databases.sql

Kung nahuman na ang dump, andam ka nga ibalhin ang mga database.

Kung gusto nimo nga ihulog ang usa ka database, mahimo nimong gamiton ang:

# mysqldump -u root -p --opt [database name] > database_name.sql

Pagbalhin sa MySQL Databases Dump File ngadto sa Bag-ong Server

Karon gamita ang scp command aron ibalhin ang imong mga database dump file ngadto sa bag-ong server ubos sa home directory sama sa gipakita.

# scp all_databases.sql [email :~/       [All Databases]
# scp database_name.sql [email :~/       [Singe Database]

Kung magkonektar ka, ang database ibalhin sa bag-ong server.

I-import ang MySQL Databases Dump File sa Bag-ong Server

Kung ang MySQL dump file na-trafer na sa bag-ong server, mahimo nimong gamiton ang mosunud nga mando aron ma-import ang tanan nimong mga database sa MySQL.

# mysql -u [user] -p --all-databases < all_databases.sql   [All Databases]
# mysql -u [user] -p newdatabase < database_name.sql      [Singe Database]

Kung nahuman na ang pag-import, mahimo nimong susihon ang mga database sa duha nga mga server gamit ang mosunud nga mando sa mysql shell.

# mysql -u user -p
# show databases;

Pagbalhin sa MySQL Databases ug Users ngadto sa Bag-ong Server

Kung gusto nimo ibalhin ang tanan nimo nga database sa MySQL, tiggamit, pagtugot ug istruktura sa datos nga daan nga server sa bag-o, mahimo nimong gamiton ang rsync nga mando aron kopyahon ang tanan nga sulud gikan sa mysql/mariadb data directory hangtod sa bag-ong server sama sa gipakita.

# rsync -avz /var/lib/mysql/* [email :/var/lib/mysql/ 

Kung makompleto na ang pagbalhin, mahimo nimong itakda ang pagpanag-iya sa mysql/mariadb data directory ngadto sa user ug group mysql, dayon paghimo ug listahan sa direktoryo aron masusi nga nabalhin na ang tanang file.

# chown mysql:mysql -R /var/lib/mysql/
# ls  -l /var/lib/mysql/

Kana lang! Niini nga artikulo, nahibal-an nimo kung giunsa ang dali nga pagbalhin sa tanan nga mga database sa MySQL/MariaDB gikan sa usa ka server ngadto sa lain. Giunsa nimo pagpangita kini nga pamaagi kung itandi sa ubang mga pamaagi? Gusto namon nga makadungog gikan kanimo pinaagi sa porma sa komento sa ubos aron maabot kami.