-
1. การสำรองข้อมูลแบบลอจิคอล: mysqldump
-
2. Mydumper
-
3. mysqlbackup
-
4. การสำรองข้อมูลทางกายภาพ: Percona XtraBackup
-
5. phpMyAdmin
-
6. MySQL Workbench
-
7.Vinchin Backup & Recovery
-
คำถามที่พบบ่อยเกี่ยวกับเครื่องมือสำรองข้อมูล MySQL
-
สรุป
เพื่อให้บรรลุการจัดการฐานข้อมูล MySQL จึงมีการพัฒนาเครื่องมือและเทคนิคสำหรับการสำรองข้อมูลต่าง ๆ ขึ้น ซึ่งแต่ละตัวมีจุดเด่นและกรณีการใช้งานที่แตกต่างกัน โพสต์นี้จะกล่าวถึงคุณสมบัติหลัก กลไกการทำงาน และปัจจัยที่ควรพิจารณาของเครื่องมือยอดนิยมสำหรับการสำรองข้อมูลและการจัดการ MySQL เพื่อช่วยให้คุณสามารถตัดสินใจได้อย่างมีข้อมูลประกอบสำหรับปฏิบัติการฐานข้อมูลของคุณ
1. การสำรองข้อมูลแบบลอจิคอล: mysqldump
ใน MySQL เครื่องมือ mysqldump เป็นหนึ่งในเครื่องมือที่ใช้กันอย่างแพร่หลายที่สุดสำหรับการส่งออกฐานข้อมูลเป็นไฟล์ SQL แบบพกพา ซึ่งสนับสนุนการสำรองข้อมูลทั้งในระดับตารางเดียว ฐานข้อมูลเดียว หรือหลายฐานข้อมูล และยังมีตัวเลือกหลากหลายเพื่อตอบสนองความต้องการในการสำรองข้อมูลที่แตกต่างกัน กลไกการสำรองข้อมูลของเครื่องมือนี้จะเชื่อมต่อกับฐานข้อมูล MySQL ผ่านโปรโตคอล จากนั้นทำการสอบถามข้อมูลที่ต้องการสำรอง และแปลงข้อมูลที่ได้เป็นคำสั่ง "INSERT" ที่เกี่ยวข้อง เมื่อเราต้องการกู้คืนข้อมูล การรันคำสั่ง "INSERT" เหล่านี้จะทำให้ข้อมูลกลับมาเหมือนเดิม
กระบวนการสำรองข้อมูล mysqldump มีลำดับคร่าวๆ ดังนี้
ใช้ล็อกการอ่านกับทุกตารางในฐานข้อมูลเฉพาะเจาะจง
วนลูปและสำรองข้อมูลตาราง
ปลดล็อกการอ่าน
ทำซ้ำสามขั้นตอนข้างต้น
การสำรองข้อมูลเสร็จสมบูรณ์แล้ว
จากกระบวนการข้างต้น จะเห็นได้ชัดว่าในระหว่างการสำรองข้อมูลด้วย mysqldump เมื่อสำรองข้อมูลฐานข้อมูลเฉพาะเจาะจง ตารางทั้งหมดในฐานข้อมูลนั้นจะอยู่ในโหมดอ่านอย่างเดียว ซึ่งจะป้องกันไม่ให้มีการแก้ไขใดๆ จนกว่าการสำรองข้อมูลจะเสร็จสมบูรณ์ โดยทั่วไปแล้วสิ่งนี้ไม่สามารถยอมรับได้ในสภาพแวดล้อมออนไลน์ หากกำหนดตัวเลือก "--master-data" หรือ "--dump-slave" ระบบจะมีการล็อกการอ่านแบบทั่วโลก ("FLUSH TABLES WITH READ LOCK") ตั้งแต่เริ่มต้นการสำรองข้อมูล และจะคงสถานะการล็อกไว้จนกว่าการสำรองข้อมูลจะเสร็จสิ้น ทางเลือกหนึ่งคือ การดำเนินการสำรองข้อมูลบนฐานข้อมูลรีพลิกา เพื่อหลีกเลี่ยงผลกระทบต่อการทำงานออนไลน์
ข้อได้เปรียบอีกประการหนึ่งของการใช้ mysqldump คือ เนื่องจากมันสร้างคำสั่ง SQL จึงรองรับการย้ายหรือกู้คืนข้อมูลข้ามแพลตฟอร์มและข้ามเวอร์ชัน ซึ่งไม่สามารถทำได้กับการสำรองข้อมูลเชิงกายภาพ อย่างไรก็ตาม เนื่องจากการใช้ mysqldump จะผลิตคำสั่ง SQL จึงจำเป็นต้องระมัดระวังเป็นพิเศษขณะใช้งาน เพื่อป้องกันปัญหาร้ายแรงที่อาจเกิดขึ้น ปัญหาทั่วไปที่พบเมื่อใช้ mysqldump ได้แก่:
การย้ายข้อมูลเพียงบางส่วนไปยังอินสแตนซ์ใหม่ แต่โดยไม่ตั้งใจลบข้อมูลต้นฉบับ
เนื่องจากปัญหาเขตเวลา ตารางที่ถูกเรียกคืนและข้อมูลที่เกี่ยวข้องกับเวลาอาจไม่ถูกต้อง
หลังจากนำเข้าข้อมูลสำรองไปยังฐานข้อมูลหลัก ฐานข้อมูลสำเนาจะไม่ทำการซิงโครไนซ์
เนื่องจากปัญหาชุดตัวอักษร ข้อมูลที่กู้คืนมาอาจแสดงผลผิดเพี้ยน
ดังนั้น เมื่อใช้งาน mysqldump จึงเป็นสิ่งสำคัญที่ต้องเข้าใจหน้าที่ของแต่ละตัวเลือก ตรวจสอบว่าการดำเนินการใดบ้างที่รวมอยู่ในไฟล์ SQL ที่ส่งออก และประเมินผลกระทบต่อข้อมูลที่มีอยู่
2. Mydumper
หลักการทำงานของ Mydumper มีความคล้ายคลึงกับ mysqldump แต่ข้อแตกต่างที่สำคัญคือการใช้การสำรองข้อมูลแบบมัลติเธรด โดยแต่ละเธรดในการสำรองข้อมูลจะประมวลผลตารางบางส่วน ความละเอียดของการทำงานพร้อมกันสามารถไปถึงระดับแถว (row level) ทำให้สามารถสำรองข้อมูลแบบมัลติเธรดได้
คุณสมบัติหลักของ Mydumper:
น้ำหนักเบา เขียนด้วยภาษา C
ความเร็วในการดำเนินการเร็วกว่า mysqldump ถึง 10 เท่า
ภาพถ่ายที่สม่ำเสมอของตารางที่มีการทำธุรกรรมและไม่มีการทำธุรกรรม (สำหรับเวอร์ชัน 0.2.2 ขึ้นไป)
การบีบอัดไฟล์อย่างรวดเร็ว
รองรับการส่งออกบินล็อก
การกู้คืนแบบมัลติเธรด (สำหรับรุ่น 0.2.1 ขึ้นไป)
ทำงานเป็นเดมอนสำหรับการจับภาพตามกำหนดเวลาและบันทึกไบนารีแบบต่อเนื่อง (สำหรับรุ่น 0.5.0 เป็นต้นไป)
โอเพนซอร์ส (GNU GPLv3)
เนื่องจาก Mydumper ใช้การส่งออกแบบมัลติเธรด จึงไม่สามารถรับประกันลำดับการส่งออกที่เหมือนกับ mysqldump ได้ ซึ่งอาจทำให้เกิดความไม่สอดคล้องกันของข้อมูลสำหรับคุณสมบัติที่ขึ้นอยู่กับเวลา เช่น routines และ events จึงแนะนำให้ส่งออกและนำเข้าฐานข้อมูลระบบ MySQL แยกจากฐานข้อมูลอื่น ๆ
ฟังก์ชันการแยกและรวมฐานข้อมูลของ Mydumper อาศัยตัวแบ่ง ดังนั้นชื่อฐานข้อมูลไม่ควรประกอบด้วยจุด (".") และชื่อตารางไม่ควรประกอบด้วยเครื่องหมายยัติภังค์ ("-")
3. mysqlbackup
mysqlbackup ซึ่งย่อมาจาก MEB เป็นเครื่องมือสำรองข้อมูลที่พัฒนาโดย Oracle สำหรับเวอร์ชันธุรกิจของ MySQL เครื่องมือนี้ให้ความสามารถในการสำรองข้อมูล MySQL ที่มีประสิทธิภาพสูง รวมถึงการสำรองข้อมูลขณะทำงาน (hot backups) การสำรองข้อมูลแบบเพิ่มเติม (incremental backups) การสำรองข้อมูลเฉพาะบางส่วนของข้อมูล และการกู้คืนข้อมูล
โดยใช้การประมวลผลแบบขนาน mysqlbackup จะดำเนินการสำรองข้อมูลระดับบล็อกของข้อมูลฐานข้อมูลแบบขนาน ซึ่งช่วยเพิ่มประสิทธิภาพและความเร็วในการสำรองข้อมูล
MEB รองรับการสำรองข้อมูลฐานข้อมูล MySQL สามประเภท ได้แก่ เต็มรูปแบบ (Full) เชิงความแตกต่าง (Differential) และเพิ่มเติม (Incremental) นอกจากนี้ยังรองรับการจัดเก็บข้อมูลสำรองที่ถูกบีบอัดหลังจากการสำรองข้อมูลเรียบร้อยแล้ว จะมีการสร้างไฟล์สามประเภทขึ้น ได้แก่ ibdata, ibd และ ibz โดยมีรายละเอียดดังนี้:
"ibdata" ประกอบด้วยข้อมูลพื้นที่ตารางระบบ InnoDB
"Ibd" มีไฟล์ข้อมูลจริง
"Ibz" มีไฟล์ข้อมูลที่ถูกบีบอัด
นอกจากนี้ MEB ยังสร้างไฟล์ต่าง ๆ เช่น "backup-mysql.cnf" (สำรองค่าคอนฟิก MySQL ณ เวลาที่ทำการสำรองข้อมูล) และไฟล์สำรองแบบอินครีเมนทัล เช่น "ibbackup_ibd_files" และ "ibbackup_logfile" ซึ่งใช้จัดเก็บข้อมูลและลอการูปแบบอินครีเมนทัล อีกทั้ง MySQL ยังได้แนะนำกลไกการสำรองรีโดล็อกแยกต่างหากเพื่อยกระดับความสมบูรณ์ของข้อมูล
4. การสำรองข้อมูลทางกายภาพ: Percona XtraBackup
Percona XtraBackup เป็นเครื่องมือสำรองข้อมูลแบบร้อนสำหรับ MySQL ที่พัฒนาโดย Percona ออกแบบมาเพื่อการสำรองข้อมูลทางกายภาพโดยอาศัยกลไกการกู้คืนหลังเกิดความล้มเหลวของ InnoDB หลักการทำงานเบื้องต้นมีดังนี้:
1. ขณะเริ่มต้นระบบ จะมีการสร้างกระบวนการคัดลอกรีดโอโลห์เพื่อจับและบันทึกหมายเลขลำดับของล็อก (LSN) ปัจจุบัน และคัดลอกไฟล์รีดโอโลห์ที่ถูกแก้ไขต่อจากจุดนั้นอย่างต่อเนื่อง
2. เริ่มเธรดเพื่อคัดลอก "ibdata1" พื้นที่ตาราง undo และไฟล์ "ibd" ทั้งหมด
3. เมื่อการคัดลอกไฟล์ "ibd" เสร็จสิ้น จะเป็นการกระตุ้นคำสั่ง "FLUSH TABLES WITH READ LOCK" (หรือใช้ล็อกสำรองข้อมูล)
4. จากนั้นจะสำรองไฟล์ข้อมูลที่ไม่ใช่ InnoDB (.frm, .MRG, .MYD, .MYI เป็นต้น)
5. นอกจากนี้ยังสำรองข้อมูลที่เกี่ยวข้องกับฐานข้อมูลรีพลิกาและบันทึกไบนารีด้วย
6. สุดท้าย ระบบจะล้างบันทึก คัดลอกเรดดอโลกล่าสุด ออกจากการทำงานของเธรดการคัดลอกบันทึก และปล่อยล็อกทั่วโลก ในขณะที่บันทึกข้อมูลเมตาของการสำรองข้อมูลเพื่อให้กระบวนการเสร็จสมบูรณ์
ในระหว่างการกู้คืนข้อมูล Percona XtraBackup จะนำรีดูโลกลอกไปใช้ ยืนยันการทำธุรกรรมที่เสร็จสมบูรณ์ และยกเลิกธุรกรรมที่ยังไม่ได้ยืนยัน เพื่อกู้คืนฐานข้อมูลให้อยู่ในสถานะที่สอดคล้องกัน
เนื่องจาก Percona XtraBackup สร้างไฟล์จริง มันจึงหลีกเลี่ยงปัญหามากมายที่เกี่ยวข้องกับการสำรองข้อมูลเชิงตรรกะ เช่น mysqldump เมื่อกู้คืนหรือย้ายฐานข้อมูล อย่างไรก็ตาม พารามิเตอร์การสำรองข้อมูลที่แตกต่างกันอาจส่งผลกระทบต่อฐานข้อมูลในระดับที่แตกต่างกัน
XtraBackup มีข้อดีคือส่งผลกระทบต่อฐานข้อมูลน้อยที่สุดและกู้คืนได้อย่างรวดเร็ว ทำให้เป็นทางเลือกอันดับต้นๆ สำหรับการสำรองข้อมูลตามปกติ ในทางตรงกันข้าม mysqldump มีความยืดหยุ่นมากกว่า แต่ต้องจัดการอย่างระมัดระวังเพื่อหลีกเลี่ยงการรบกวนข้อมูลที่มีอยู่
5. phpMyAdmin
phpMyAdmin เป็นเครื่องมือจัดการฐานข้อมูล MySQL ที่ใช้ PHP เป็นพื้นฐาน โดยมีโครงสร้างเป็นแอปพลิเคชันที่ทำงานผ่านเว็บไซต์บนโฮสต์เว็บ มันช่วยให้ผู้ดูแลระบบสามารถจัดการฐานข้อมูล MySQL ผ่านอินเตอร์เฟซเว็บ ซึ่งเป็นวิธีที่สะดวกในการป้อนคำสั่ง SQL ที่ซับซ้อน โดยเฉพาะอย่างยิ่งมีประโยชน์มากสำหรับการนำเข้าและส่งออกข้อมูลจำนวนมาก
phpMyAdmin นำเสนออินเตอร์เฟซฐานข้อมูลแบบกราฟิกที่คล้ายกับ Microsoft Access และ SQL Server ซึ่งช่วยให้ผู้ใช้สามารถดำเนินการต่างๆ ของ MySQL ได้ เช่น การสร้างฐานข้อมูล ตาราง และการสร้างไฟล์สคริปต์ฐานข้อมูล MySQL
ข้อได้เปรียบหลักประการหนึ่งของ phpMyAdmin คือ เช่นเดียวกับแอปพลิเคชัน PHP อื่น ๆ มันทำงานบนเว็บเซิร์ฟเวอร์ อย่างไรก็ตาม ผู้ใช้สามารถเข้าถึงหน้า HTML ที่สร้างขึ้นได้จากทุกที่ ซึ่งช่วยให้จัดการฐานข้อมูล MySQL จากทางไกลได้ สิ่งนี้อำนวยความสะดวกในการสร้าง แก้ไข และลบฐานข้อมูลและตาราง นอกจากนี้ phpMyAdmin ยังสามารถสร้างไวยากรณ์ PHP ที่ใช้บ่อยได้ ช่วยให้มั่นใจในความถูกต้องของคำสั่ง SQL เมื่อพัฒนาแอปพลิเคชันเว็บ
6. MySQL Workbench
MySQL Workbench เป็นเครื่องมือกราฟิกอย่างเป็นทางการที่ให้บริการฟรีสำหรับจัดการฐานข้อมูล MySQL พร้อมอินเตอร์เฟซที่ใช้งานง่ายสำหรับการออกแบบ พัฒนา และดูแลฐานข้อมูล ผู้ใช้สามารถสร้างและแก้ไขโครงสร้างฐานข้อมูลได้อย่างมีภาพด้วยแผนภาพ ER สร้างสคริปต์ SQL และซิงค์ข้อมูลที่เปลี่ยนแปลงกับฐานข้อมูลได้ เครื่องมือแก้ไข SQL ในตัวรองรับการเน้นไวยากรณ์ การเติมคำอัตโนมัติ และการรันคำสั่งสอบถามพร้อมผลลัพธ์ในรูปแบบภาพ นอกจากนี้ยังมีเครื่องมือสำหรับนำเข้าและส่งออกข้อมูล การจัดการสิทธิ์ผู้ใช้ การตรวจสอบประสิทธิภาพ และการย้ายฐานข้อมูล รองรับระบบปฏิบัติการ Windows, macOS และ Linux ทำให้เหมาะกับทั้งผู้เริ่มต้นและนักพัฒนาที่มีประสบการณ์ โดยช่วยปรับปรุงงานจัดการฐานข้อมูลโดยไม่จำเป็นต้องมีความรู้ลึกซึ้งเกี่ยวกับคำสั่งใน command-line
7.Vinchin Backup & Recovery
Vinchin Backup & Recovery มีโซลูชันที่อัตโนมัติ มีประสิทธิภาพ และปลอดภัยมากกว่า โดยทำให้กระบวนการสำรองข้อมูล MySQL ง่ายขึ้นด้วยการจัดการแบบรวมศูนย์ การกู้คืนข้อมูลอย่างรวดเร็ว การสำรองข้อมูลแบบเพิ่มเติม และกลยุทธ์การจัดเก็บข้อมูลที่ยืดหยุ่น เพื่อให้มั่นใจได้ว่าข้อมูลจะสามารถใช้งานได้ในระยะยาว นอกจากนี้ยังมีกลยุทธ์การสำรองข้อมูลที่ยืดหยุ่นสำหรับ Oracle DB, SQL Server, SQL Server, PostgreSQL, Postgres Pro, และ MariaDB
คุณสมบัติด้านการจัดเก็บข้อมูลที่ได้รับการปรับปรุง เช่น การลดข้อมูลซ้ำ (data deduplication) และการบีบอัดข้อมูล ช่วยลดความต้องการพื้นที่จัดเก็บไฟล์สำรองและลดระยะเวลาการทำสำเนาข้อมูลอย่างมีนัยสำคัญ ในเวลาเดียวกัน ฟังก์ชันการเข้ารหัสและความปลอดภัยในการส่งข้อมูล ทำให้มั่นใจในความปลอดภัยของข้อมูลสำรอง เหมาะสำหรับองค์กรที่ต้องการปกป้องข้อมูลอย่างเข้มงวด
ในการสร้างงานสำรองข้อมูลฐานข้อมูล MySQL โปรดไปที่หน้า การสำรองข้อมูลทางกายภาพ > การสำรองข้อมูลฐานข้อมูล > การสำรองข้อมูล :
1. เลือกฐานข้อมูลที่ต้องการสำรองข้อมูล

2. เลือกโหนดสำรองที่คุณต้องการให้ประมวลผลและจัดเก็บข้อมูลสำรอง

3. ตั้งค่ากลยุทธ์การสำรองข้อมูลตามความต้องการของคุณ

4. ตรวจสอบและยืนยันการตั้งค่า

คลิกปุ่มด้านล่างเพื่อลองใช้บริการ ทดลองใช้งานฟรี 60 วัน ของ Vinchin เพื่อสัมผัสประสบการณ์โซลูชันการสำรองข้อมูลและการกู้คืนข้อมูลที่มีประสิทธิภาพและน่าเชื่อถือ
คำถามที่พบบ่อยเกี่ยวกับเครื่องมือสำรองข้อมูล MySQL
1. ความแตกต่างระหว่างการสำรองข้อมูลแบบลอจิคอลกับการสำรองข้อมูลทางกายภาพคืออะไร?
การสำรองข้อมูลแบบลอจิคอลจะจัดเก็บข้อมูลเป็นคำสั่ง SQL ในขณะที่การสำรองข้อมูลแบบฟิสิกัลจะคัดลอกไฟล์ฐานข้อมูลดิบ
2. การกู้คืนข้อมูล ณ จุดเวลา (PITR) ใน MySQL คืออะไร?
ช่วยให้สามารถกู้คืนฐานข้อมูลไปยังช่วงเวลาที่กำหนดได้โดยใช้บันทึกไบนารี (binlog)
สรุป
การเลือกเครื่องมือสำรองข้อมูลที่เหมาะสมสำหรับฐานข้อมูล MySQL ของคุณมีความสำคัญอย่างยิ่งต่อการรับประกันความปลอดภัยของข้อมูลและประสิทธิภาพในการดำเนินงาน การเข้าใจจุดแข็งและข้อจำกัดของแต่ละเครื่องมือจะช่วยให้คุณสามารถปรับกลยุทธ์การสำรองข้อมูลให้ตรงกับความต้องการเฉพาะได้ ซึ่งจะช่วยให้มั่นใจได้ว่ามีการป้องกันข้อมูลอย่างมั่นคง และสามารถกู้คืนข้อมูลได้อย่างราบรื่นในทุกสถานการณ์
แชร์บน: