วิธีปฏิบัติที่ดีที่สุดในการสำรองข้อมูลเซิร์ฟเวอร์ MySQL:
การจำลองแบบ MySQL
ตั้งค่าการจำลองแบบใน MySQL คุณจะต้องติดตั้งเซิร์ฟเวอร์ Master และ Slave การอ่าน - เขียนไปยัง DB ทั้งหมดสามารถไปยัง Slave Server ของคุณได้ ข้อดีของการมีการจำลองแบบคือคุณสามารถสำรองข้อมูลจากเซิร์ฟเวอร์ทาสของคุณโดยไม่ขัดจังหวะเซิร์ฟเวอร์ Master แอปพลิเคชันของคุณจะยังคงทำงานกับ Master ได้โดยไม่ต้องหยุดทำงาน
ใช้การถ่ายโอนข้อมูล MySQL
หากชุดข้อมูลของคุณมีขนาดเล็ก (ฉันรู้ว่า "เล็ก" เป็นคำที่เกี่ยวข้อง .. เพื่อให้มีคุณสมบัติดังกล่าวสมมติว่า <10GB) จากนั้น mysqldump อาจทำงานได้ดี ง่ายมันออนไลน์และยืดหยุ่นมาก มีเพียงไม่กี่สิ่งที่ mysqldump สามารถทำได้: สำรองข้อมูลทุกอย่างหรือสำรองฐานข้อมูลหรือตารางบางอย่างเท่านั้น DDL จะปรับการถ่ายโอนข้อมูลเพื่อการกู้คืนที่รวดเร็วยิ่งขึ้นทำให้ไฟล์ sql ที่เป็นผลลัพธ์นั้นเข้ากันได้กับ RDBMS อื่น ๆ และอีกมากมาย
อย่างไรก็ตามตัวเลือกที่สำคัญที่สุดนั้นเกี่ยวข้องกับความสอดคล้องของข้อมูลสำรองของคุณ ตัวเลือกที่ฉันชอบคือ: - ธุรกรรมเดี่ยว: ตัวเลือกนี้ให้การสำรองข้อมูลที่สอดคล้องกันหาก (และเฉพาะในกรณี) ตารางกำลังใช้เครื่องมือจัดเก็บข้อมูลของ InnoDB หากคุณมีตาราง MyISAM ที่ไม่ใช่แบบอ่านอย่างเดียวอย่าใช้ตัวเลือกนี้เมื่อสำรองข้อมูล --master-data = 2: ตัวเลือกนี้จะทำให้แน่ใจว่าการถ่ายโอนข้อมูลของคุณสอดคล้องกัน (โดยทำการล็อคทุกตารางเว้นแต่ว่าคุณได้เพิ่มตัวเลือก - ธุรกรรมเดี่ยว) ตัวเลือก --master-data ยังบันทึกตำแหน่งบันทึกไบนารีในไฟล์ดัมพ์ผลลัพธ์ (= 2 ทำให้บรรทัดนี้เป็นข้อคิดเห็นในไฟล์ดัมพ์)
หมายเหตุสุดท้ายเกี่ยวกับ mysqldump: โปรดทราบว่าเวลาการเรียกคืนอาจนานกว่าเวลาการสำรองข้อมูลอย่างมาก มันจะขึ้นอยู่กับปัจจัยหลายประการเช่นจำนวนดัชนีที่คุณมี
LVM snapshot
สำหรับผู้ที่มีชุดข้อมูลที่ใหญ่กว่าการสำรองข้อมูลแบบฟิสิคัลเป็นวิธีที่จะดำเนินการ ในขณะที่คุณสามารถสำรองข้อมูลเย็น (เช่นปิดบริการ MySQL คัดลอกไดเรกทอรีข้อมูลเริ่มบริการ) หลายคนไม่ต้องการหยุดทำงาน ทางออกที่ฉันชอบคือสแน็ปช็อต สิ่งนี้อาจร้อน (สำหรับ InnoDB) หรือต้องการล็อคแบบย่อ (สำหรับ MyISAM) อย่าลืมที่จะรวมข้อมูลทั้งหมดของคุณ (รวมถึง ib_logfiles) Lenz จัดเตรียมยูทิลิตี้ที่ดีที่จะช่วยในเรื่องนี้: http://www.lenzg.net/mylvmbackup/
ใช้การสำรองข้อมูล MySQL Enterprise
ข้อดีของการใช้ MySQL Enterprise Backup:
- การสำรองข้อมูล "ร้อน" ของตาราง InnoDB จะเกิดขึ้นออนไลน์โดยไม่ต้องปิดกั้นการสำรองข้อมูลเฉพาะตารางหรือพื้นที่ตารางโดยเฉพาะ
- สำรองข้อมูลที่เปลี่ยนแปลงตั้งแต่การสำรองข้อมูลก่อนหน้าเท่านั้น
- การบีบอัดข้อมูลสำรอง - ประหยัดพื้นที่จัดเก็บมากถึง 90% และอีกมากมาย ..
การอ้างอิง:
http://www.mysql.com/products/enterprise/backup/features.html
http://www.mysql.com/products/enterprise/backup.html
--single-transaction
แต่อย่าลืมที่จะเพิ่ม--events --routines
และฉันก็มักจะใช้--triggers
ด้วยแม้ว่าจะเปิดใช้งานตามค่าเริ่มต้นแล้วเนื่องจากมันสามารถปิดการใช้งานใน my.cnf ได้ ฉันจะบอกว่ามันค่อนข้างดีเสมอที่จะใช้สิ่งเหล่านี้เป็นแบบฝึกหัดมาตรฐานไม่ว่าคุณจะมีวัตถุประเภทนั้นอยู่ในฐานข้อมูลหรือไม่ก็ตาม