Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

วิธคัดลอกตารางหรือฐานข้อมูลจากเซิร์ฟเวอร์ MySQL ไปอีกเซิร์ฟเวอร์หนึ่ง

ใช้ mysqldump สำหรับคัดลอกข้ามเซิร์ฟเวอร์

หากต้องการคัดลอกตารางหรือฐานข้อมูลจากเซิร์ฟเวอร์ MySQL ไปอีกเซิร์ฟเวอร์ ให้ใช้ mysqldump พร้อมชื่อฐานข้อมูลและชื่อตาราง

วิธีที่ 1: ใช้ไฟล์กลาง (intermediary file)

ที่เซิร์ฟเวอร์ต้นทาง: dump ฐานข้อมูลทั้งหมดลงไฟล์ dump.txt

$ mysqldump -u root -p database_name table_name > dump.txt
password *****

สามารถ dump ฐานข้อมูลทั้งหมดโดยไม่ระบุชื่อตารางได้

ส่งไฟล์ dump.txt ไปเซิร์ฟเวอร์ปลายทาง แล้วรัน: (ต้องสร้าง database_name บนเซิร์ฟเวอร์ปลายทางก่อน)

$ mysql -u root -p database_name < dump.txt
password *****

วิธีที่ 2: ส่งผ่านเครือข่ายโดยตรง (ไม่ใช้ไฟล์กลาง)

หากเชื่อมต่อได้ทั้งสองเซิร์ฟเวอร์จากเครื่องที่มีฐานข้อมูลต้นทาง:

$ mysqldump -u root -p database_name \
| mysql -h other-host.com database_name

ครึ่งแรกของคำสั่ง (mysqldump) เชื่อมต่อเซิร์ฟเวอร์ท้องถิ่นและเขียน dump ลงไปใน pipe ครึ่งหลัง (mysql) เชื่อมต่อเซิร์ฟเวอร์ระยะไกล other-host.com อ่านจาก pipe และส่งคำสั่งแต่ละคำไปยังเซิร์ฟเวอร์ปลายทาง