การสำรองข้อมูลระบบในแบบ ndb native นั้น ระบบจะจัดเก็บเป็น 3 ไฟล์ ดังต่อไปนี้
ในส่วนของไฟล์ .data หากข้อมูลในฐานข้อมูลมีปริมาณมากระบบจะแบ่งไฟล์ออกเป็นหลาย ๆ ไฟล์ เพื่อให้ไฟล์ไม่มีขนาดใหญ่เกินกว่า....???..... โดยมีหมายเลขเรียงตามลำดับกำกับให้
ขั้นตอนการปฏิบัติ
1.ให้ backup ฐานข้อมูลด้วย Management Client
shell>ndb_mgm
ndb_mgm>START BACKUP
ที่เครื่อง Data Node ทุกเครื่อง ใน DataDir จะมีไดรเร็กทอรี่ BACKUP เกิดขี้น
Connected to Management Server at: 127.0.0.1:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=1 @10.1.10.12 (mysql-5.1.47 ndb-7.1.5, Nodegroup: 0, Master)
id=2 @10.1.10.13 (mysql-5.1.47 ndb-7.1.5, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=99 @10.1.10.11 (mysql-5.1.47 ndb-7.1.5)
[mysqld(API)] 2 node(s)
id=101 @10.1.10.10 (mysql-5.1.47 ndb-7.1.5)
id=102 @10.1.10.12 (mysql-5.1.47 ndb-7.1.5)
โหนดที่จะเป็นโหนดหัวหน้าที่เริ่มทำการสำรองข้อมูลคือโหนดที่มีสถานะ “Master” ขึ้นอยู่ ในที่นี้ก็คือโหนด id=1
ในการสำรองข้อมูล Data Node แต่ละ Data Node กำหนดให้บริการข้อมูลส่วนไหนก็จะสำรองข้อมูลเฉพาะส่วนนั้น เช่น มี 4 Data Node โดยแบ่งเป็น 2 Node Groupsข้อมูลแบ่งออกเป็น 4 ส่วนตามจำนวนเครื่อง แต่ละเครื่องก็จะสำรองตามส่วนนั้นๆ แต่ถ้าหากมีเครื่องเสียหายไปหนึ่งเครื่อง เครื่องอีกเครื่องในกลุ่มก็จะให้บริการในอีกส่วนเพิ่ม การสำรองข้อมูลก็จะสำรองตามส่วนที่ตนให้บริการอยู่ เป็นต้น ทำให้การสำรองข้อมูลได้ข้อมูลครบถ้วนสมบูรณ์
2. ให้ restore ฐานข้อมูล
-ทำการ restore ที่เครื่องที่มี Slot ของ SQL node ว่างอยู่
shell> ndb_restore -b 1 -n 3 -r /root/BACKUP-1/
-b หมายถึง Backup ID
-n หมายถึง Node ID
-r ให้อางไปยังไดเรกทอรีที่เก็บไฟล์ backup
หมายเหตุ
การสําารองข้อมูลด้วยวิธี Native Backup นี้ ระบบจะสําารองเฉพาะตัวข้อมูลในตารางเท่านั้น ไม่รวมถึง
โครงสร้างตารางและฐานข้อมูล เราจึงจําาเป็นต้องสําารองโครงสร้างของฐานข้อมูลและตาราง (Schema) แยกต่างหาก
สามารถทําาได้โดยใช้คําาสั่ง mysqldump ในลักษณะดังต่อไปนี้
shell> mysqldump -d -B -u root -p1234 [DB_NAME] > [DB_NAME]_schema.sql
-d No row information
-B Dump several databases and 'create database' and 'use db_name'
Tip. เราสามารถกำหนดตำแหน่งเก็บไฟล์แบ็คอัพได้ด้วยการระบุตัวแปร BackupDataDir ไว้ในไฟล์ config.ini ดังตัวอย่างต่อไปนี้
ตัวอย่าง การกำหนดให้ระบบจัดเก็บไฟล์แบ็คอัพไว้ที่ /data/backup
[ndbd default]
BackupDataDir=/data/backup
*** การ restore ต้องการ slot 1 slot
*** ต้อง capture หน้าจอเพิ่ม อธิบายให้ชัด