Site icon Green

วิธี Dump mySQL จาก Remote Database

Dump mySQL db from Remote Database to Local Database

Dump mySQL db from Remote Database to Local Database

ในกรณีที่เราต้องการ Backup Database จาก Remote Database หรือทำการอัพเดทฐานข้อมูลจากฐานข้อมูลหลักมาเก็บไว้ที่ Local Server บทความนี้อาจจะช่วยแก้ปัญหาและลดเวลาการทำงานได้ไม่มากก็น้อย
เรื่องของเรื่องก็คือผมได้รับ Assign งานเกี่ยวกับการ Sync-up ฐานข้อมูล Requirement คือ การอัพเดทข้อมูลจากฐานข้อมูลหลักมาที่ Local Database เพราะฐานข้อมูลหลัก หรือ Remote Database นั้นจะช้าถ้าเรา Connect เข้าไปใช้งานโดยตรง หรือเพื่อนๆอยากจะเอาไปใช้ในกรณีที่ต้องการ Backup ฐานข้อมูลก็ได้นะ

ขั้นตอนคือเมื่อเรา Remote เข้าไปที่ Local Database แล้วลอง Connect ไปที่สถานีปลายทางดูก่อนว่าสามารถ Connect ได้ไหม ผมใช้ Command

mysql --host=localhost --user=myname --password=password mydb

ดูบทความภาษาอังกฤษเกี่ยวกับการเชื่อมต่อฐานข้อมูลได้ >>ที่นี่<<

ถ้าไม่มีอะไรผิดพลาด สามารถเชื่อต่อได้แล้วละก็ สามารถทำการ Dump ข้อมูลมาเก็บไว้ที่ Local Database ของเราได้เลย ด้วยคำสั่งนี้เลย

mysqldump
--host=<remote-host>
--user=<remote-user>
--password=<remote-pass>
--single-transaction
--ignore-table=<ignore-db.table> <remote-db-name>
| mysql
--host=localhost
--user=<local-user>
--password=<local-pass> <local-db-name>--password=

บทความที่มาของคำสั่งนี้ ผมแก้ไขนิดหน่อย เพิ่ม –ignore-table เข้าไป กรณีที่เป็น view table มันจะ error ทำการ dump ไม่ได้ เลยเพิ่มตัวอย่างคำสั่งสำหรับ ignore ไว้ให้ ถ้าเราไม่ต้องการ ignore ตารางไหนเลย ก็ลบคำสั่งนี้ออกไปได้

ดูบทความที่ผมดูตัวอย่างเขามาได้ >>ที่นี่<<

Exit mobile version