ndb_mgm> SHOW
-- 輸出顯示 2 data nodes、1 mgmt、2 sql nodes 全部 connected
任意 SQL 節點查詢測試表 redhat,數據一致(3 行)。
# Shell 方式
ndb_mgm -e shutdown
# 或進入管理客戶端
ndb_mgm> SHUTDOWN
關閉後 SQL 節點 mysqld 進程仍在運行,僅 NDB 存儲引擎停止服務。
ndb_mgm> START BACKUP;
-- 等待完成,輸出 Backup ID、Start/Stop GCP、Records、Data/Log bytes
備份文件分布於各數據節點 /MySQL/BACKUP/BACKUP-:
BACKUP--0..Data :數據文件BACKUP-..ctl :控制文件BACKUP-..log :Redo Log 片段大數據量可調整 config.ini 中 BackupDataBufferSize、BackupLogBufferSize、BackupMemory、BackupWriteSize。
# 1. 清空目標表(或 DROP TABLE)
mysql> TRUNCATE TABLE redhat; -- 或 DROP TABLE
# 2. 各數據節點並行執行 ndb_restore
# 節點 2
ndb_restore -b 3 -n 2 -c host=192.168.0.150:1186 -r /MySQL/BACKUP/BACKUP-3/
# 節點 3
ndb_restore -b 3 -n 3 -c host=192.168.0.150:1186 -r /MySQL/BACKUP/BACKUP-3/
關鍵參數:
| 參數 | 說明 |
|---|---|
| -b | 備份 ID |
| -n | 節點 ID |
| -c | 管理節點連接串 |
| -r | 備份文件路徑 |
| -m | 恢復表結構(僅首個節點需加,其餘節點加會報「Schema object already exists」) |
恢復後各 SQL 節點查詢數據一致(4 行),表結構自動重建。