วิธีถ่ายโอนฐานข้อมูล MySQL ทั้งหมดจากเซิร์ฟเวอร์เก่าไปยังเซิร์ฟเวอร์ใหม่
การโอนหรือย้ายฐานข้อมูล MySQL/MariaDB ระหว่างเซิร์ฟเวอร์มักดำเนินการด้วยขั้นตอนง่ายๆ เพียงไม่กี่ขั้นตอน แต่การถ่ายโอนข้อมูลอาจใช้เวลาพอสมควร ขึ้นอยู่กับปริมาณข้อมูลที่คุณต้องการถ่ายโอน
ในบทความนี้ คุณจะได้เรียนรู้วิธีถ่ายโอนหรือย้ายฐานข้อมูล MySQL/MariaDB ทั้งหมดของคุณจากเซิร์ฟเวอร์ Linux เก่าไปยังเซิร์ฟเวอร์ใหม่ นำเข้าได้สำเร็จ และยืนยันว่ามีข้อมูลอยู่
หมายเหตุสำคัญ
- ตรวจสอบให้แน่ใจว่าได้ติดตั้ง MySQL เวอร์ชันเดียวกันบนเซิร์ฟเวอร์ทั้งสองที่มีการกระจายเดียวกัน
- ตรวจสอบให้แน่ใจว่ามีพื้นที่ว่างเพียงพอบนเซิร์ฟเวอร์ทั้งสองเพื่อเก็บไฟล์ดัมพ์ฐานข้อมูลและฐานข้อมูลที่นำเข้า
- อย่าพิจารณาที่จะย้ายไดเร็กทอรี
data
ของฐานข้อมูลไปยังเซิร์ฟเวอร์อื่น อย่าไปยุ่งกับโครงสร้างภายในของฐานข้อมูล เพราะถ้าทำ คุณจะประสบปัญหาในอนาคต
ส่งออกฐานข้อมูล MySQL ไปยังไฟล์ดัมพ์
ขั้นแรกให้เริ่มด้วยการล็อกอินเข้าสู่เซิร์ฟเวอร์เก่าของคุณและหยุดบริการ mysql/mariadb โดยใช้คำสั่ง systemctl ดังที่แสดง
systemctl stop mariadb
OR
systemctl stop mysql
จากนั้นดัมพ์ฐานข้อมูล MySQL ทั้งหมดของคุณลงในไฟล์เดียวโดยใช้คำสั่ง mysqldump
mysqldump -u [user] -p --all-databases > all_databases.sql
เมื่อดัมพ์เสร็จสิ้น คุณก็พร้อมที่จะถ่ายโอนฐานข้อมูล
หากคุณต้องการดัมพ์ฐานข้อมูลเดียว คุณสามารถใช้:
mysqldump -u root -p --opt [database name] > database_name.sql
ถ่ายโอนไฟล์ดัมพ์ฐานข้อมูล MySQL ไปยังเซิร์ฟเวอร์ใหม่
ตอนนี้ใช้คำสั่ง scp เพื่อถ่ายโอนไฟล์ดัมพ์ฐานข้อมูลของคุณไปยังเซิร์ฟเวอร์ใหม่ภายใต้โฮมไดเร็กทอรีดังที่แสดง
scp all_databases.sql [email :~/ [All Databases]
scp database_name.sql [email :~/ [Singe Database]
เมื่อคุณเชื่อมต่อแล้ว ฐานข้อมูลจะถูกโอนไปยังเซิร์ฟเวอร์ใหม่
นำเข้าไฟล์ดัมพ์ฐานข้อมูล MySQL ไปยังเซิร์ฟเวอร์ใหม่
เมื่อไฟล์ดัมพ์ MySQL ถูกโอนไปยังเซิร์ฟเวอร์ใหม่ คุณสามารถใช้คำสั่งต่อไปนี้เพื่อนำเข้าฐานข้อมูลทั้งหมดของคุณไปยัง MySQL
mysql -u [user] -p --all-databases < all_databases.sql [All Databases]
mysql -u [user] -p newdatabase < database_name.sql [Singe Database]
เมื่อการนำเข้าเสร็จสมบูรณ์ คุณสามารถตรวจสอบฐานข้อมูลบนเซิร์ฟเวอร์ทั้งสองได้โดยใช้คำสั่งต่อไปนี้บนเชลล์ mysql
mysql -u user -p
show databases;
ถ่ายโอนฐานข้อมูล MySQL และผู้ใช้ไปยังเซิร์ฟเวอร์ใหม่
หากคุณต้องการย้ายฐานข้อมูล MySQL ผู้ใช้ สิทธิ์ และโครงสร้างข้อมูลเซิร์ฟเวอร์เก่าไปยังเซิร์ฟเวอร์ใหม่ คุณสามารถใช้คำสั่ง rsync เพื่อคัดลอกเนื้อหาทั้งหมดจากไดเร็กทอรีข้อมูล mysql/mariadb ไปยังเซิร์ฟเวอร์ใหม่ดังที่แสดง
rsync -avz /var/lib/mysql/* [email :/var/lib/mysql/
เมื่อการถ่ายโอนเสร็จสมบูรณ์ คุณสามารถตั้งค่าความเป็นเจ้าของไดเร็กทอรีข้อมูล mysql/mariadb ให้กับผู้ใช้และกลุ่ม mysql จากนั้นสร้างรายการไดเร็กทอรีเพื่อตรวจสอบว่าไฟล์ทั้งหมดได้รับการถ่ายโอนแล้ว
chown mysql:mysql -R /var/lib/mysql/
ls -l /var/lib/mysql/
วิธีโยกย้ายฐานข้อมูล MySQL โดยใช้ GUI
เครื่องมือฐานข้อมูลสมัยใหม่ช่วยให้ผู้ใช้งานการโยกย้ายฐานข้อมูล MySQL มีประสิทธิภาพมากขึ้น ปัจจัยหลักคืออินเทอร์เฟซแบบกราฟิกที่เป็นมิตรต่อผู้ใช้ซึ่งจะแนะนำพวกเขาตลอดแต่ละขั้นตอนของกระบวนการโยกย้าย การกำหนดค่างานใช้เวลาเพียงไม่กี่คลิก ไม่จำเป็นต้องพิมพ์คำสั่งใดๆ ด้วยตนเองเพื่อถ่ายโอนฐานข้อมูล MySQL ไปยังปลายทางใหม่
โดยทั่วไปแล้ว เครื่องมือดังกล่าวสนับสนุนวิธีการต่างๆ ในการถ่ายโอนฐานข้อมูลทั้งหมดหรือบางส่วน อาจเป็นการสำรองและกู้คืน การคัดลอกฐานข้อมูล การนำเข้าข้อมูล และการส่งออก เป็นต้น
นอกจากนี้ เครื่องมือย้ายข้อมูล MySQL อาจเป็นโซลูชันแบบสแตนด์อโลนหรือเป็นส่วนหนึ่งของชุดเครื่องมือที่มีประสิทธิภาพมากกว่า เช่น dbForge Studio สำหรับ MySQL ซึ่งเหมาะสมที่จะครอบคลุมงานฐานข้อมูลที่เหลือทั้งหมด
นั่นคือทั้งหมด! ในบทความนี้ คุณได้เรียนรู้วิธีย้ายฐานข้อมูล MySQL/MariaDB ทั้งหมดจากเซิร์ฟเวอร์หนึ่งไปยังอีกเซิร์ฟเวอร์หนึ่งอย่างง่ายดาย คุณค้นหาวิธีนี้ได้อย่างไรเมื่อเปรียบเทียบกับวิธีอื่น? เราต้องการรับฟังจากคุณผ่านแบบฟอร์มความคิดเห็นด้านล่างเพื่อติดต่อเรา