ฉันมีฐานข้อมูล 4GB ใน MySQL ฉันจะสำรองข้อมูลได้อย่างไร นอกจากนี้มีวิธีที่ฉันสามารถเร่งกระบวนการกู้คืนในกรณีที่ฉันต้องการกู้คืนหรือไม่?
ตอนนี้ฉันใช้งาน cron ทุกคืนที่โทรmysqldump
เพื่อทิ้งทุกอย่างและเก็บสำรองข้อมูล 3 วัน
ฉันมีฐานข้อมูล 4GB ใน MySQL ฉันจะสำรองข้อมูลได้อย่างไร นอกจากนี้มีวิธีที่ฉันสามารถเร่งกระบวนการกู้คืนในกรณีที่ฉันต้องการกู้คืนหรือไม่?
ตอนนี้ฉันใช้งาน cron ทุกคืนที่โทรmysqldump
เพื่อทิ้งทุกอย่างและเก็บสำรองข้อมูล 3 วัน
คำตอบ:
เรามีประมาณ 90 GB ใน MySQL ดังนั้นนี่คือคำแนะนำ:
mysqldump -u USER -pPASS --single-transaction -Q --databases foo bar
(ใช้เอกสารเพื่อตรวจสอบว่าสวิตช์เหล่านั้นทำงานให้คุณหรือไม่)วิธีที่ดีที่สุดคือไม่รบกวนการทำงานปกติ สำหรับระบบที่มีความน่าเชื่อถือสูงและป้องกันข้อผิดพลาดคุณมี 2 ฐานข้อมูลที่ถูกซิงค์และคุณสำรองข้อมูลสำรอง (เช่นบทความ Howtoforge นี้ )
มิฉะนั้นอ่านคู่มือ : ใช้ myseldump ตามที่คุณทำอยู่ในปัจจุบันหรือใช้สคริปต์ mysqlhotcopy (ใช้เหมือน mysqldump) หรือหยุด DB และคัดลอกไฟล์ frm, MID, MYI (โดยใช้ rsync)
ฉันคิดว่ากลไกการหยุด + คัดลอกไฟล์เป็นวิธีที่เร็วที่สุดที่คุณจะได้รับ
หากฐานข้อมูลบางส่วนของคุณเป็นแบบอ่านอย่างเดียวหรือแก้ไขเพียงครั้งเดียวก็หาไม่ง่ายเพราะ cron มีความถี่น้อย
หากต้องการตอบคำถามของคุณตัวเลือกExtended_insert ใช้งานได้ดีสำหรับฉัน หากคุณมีทรัพยากรเพียงพอสำหรับการกู้คืน Extended_insert จะแทรกข้อมูลจำนวนมากในการสืบค้นเดียวทำให้การกู้คืนเร็วขึ้น
คุณควรพิจารณา Xtrabackup ของPercona จริงๆ
สคริปต์ตัวตัดคำ "innobackupex" สามารถจัดการ MyISAM ได้ แต่สำหรับการสำรองข้อมูลแบบไม่ล็อค / ออนไลน์ตารางของคุณควรเป็น InnoDB
ไชโย