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

การคัดลอกฐานข้อมูล MySQL ไปยังเครื่องอื่น


เมื่อจำเป็นต้องถ่ายโอนฐานข้อมูลระหว่างสถาปัตยกรรมที่แตกต่างกัน คุณสามารถใช้ 'mysqldump' เพื่อสร้างไฟล์ได้ ไฟล์นี้จะมีคำสั่ง SQL การถ่ายโอนไฟล์สามารถทำได้จากเครื่องหนึ่งไปยังอีกเครื่องหนึ่ง และไฟล์นี้สามารถใช้เป็นอินพุตไปยังไคลเอนต์ 'mysql' ได้

ย้ายฐานข้อมูลระหว่างสองเครื่อง

วิธีหนึ่งในการย้ายฐานข้อมูลระหว่างสองเครื่องคือการรันคำสั่งบนเครื่องที่มีฐานข้อมูลอยู่ -

mysqladmin −h 'other_hostname' create db_name
mysqldump db_name | mysql −h 'other_hostname' db_name

คัดลอกฐานข้อมูลจากเครื่องระยะไกลผ่านเครือข่ายที่ช้า

หากจำเป็นต้องคัดลอกฐานข้อมูลจากเครือข่ายระยะไกลผ่านเครือข่ายที่ช้า คำสั่งด้านล่างสามารถดำเนินการได้ -

mysqladmin create db_name
mysqldump −h 'other_hostname' −−compress db_name | mysql db_name

ดัมพ์ MySQL

ดัมพ์สามารถจัดเก็บไว้ในไฟล์ และหลังจากนั้นก็สามารถโอนไปยังเครื่องเป้าหมายได้ ขั้นตอนต่อไปคือการโหลดไฟล์ลงในฐานข้อมูล ให้เรายกตัวอย่างที่จำเป็นในการดัมพ์ฐานข้อมูลไปยังไฟล์บีบอัดบนเครื่องต้นทาง ได้แสดงไว้ด้านล่าง -

mysqldump −−quick db_name | gzip > db_name.gz

ไฟล์ที่มีเนื้อหาฐานข้อมูลจำเป็นต้องถ่ายโอนจากเครื่องเป้าหมายไปยังเครื่องต้นทาง ต้องดำเนินการคำสั่งด้านล่าง −

mysqladmin create db_name
gunzip < db_name.gz | mysql db_name

นอกจากนี้ ยังสามารถฟ้อง 'mysqldump' และ 'mysqlimport' เพื่อโอนเนื้อหาฐานข้อมูลได้ สำหรับฐานข้อมูลที่มีข้อมูลจำนวนมาก สามารถใช้ 'mysqldump' และ 'mysqlimport' ร่วมกันเพื่อเพิ่มความเร็วของการดำเนินการ 'DUMPDIR' หมายถึงชื่อพาธแบบเต็มของไดเร็กทอรีที่เก็บเอาต์พุตของ 'mysqldump'

ขั้นแรก ไดเร็กทอรีถูกสร้างขึ้นเพื่อให้สามารถดัมพ์ไฟล์เอาต์พุตและเนื้อหาฐานข้อมูลได้ สามารถทำได้โดยใช้คำสั่งด้านล่าง -

mkdir DUMPDIR
mysqldump −−tab=DUMPDIR
db_name

จากนั้น ไฟล์สามารถถ่ายโอนจากไดเร็กทอรี DUMPDIR ไปยังไดเร็กทอรีที่เกี่ยวข้องบนเครื่องเป้าหมาย ขั้นตอนต่อไปคือการโหลดไฟล์ลงใน MySQL สามารถทำได้โดยใช้คำสั่งด้านล่าง −

mysqladmin create db_name # create database
cat DUMPDIR/*.sql | mysql db_name # create tables in database
mysqlimport db_name
   DUMPDIR/*.txt # load data into tables