数据备份
可以使用mysqldump工具在任一SQL节点上进行数据库逻辑备份,这里主要介绍Cluster的物理备份方法,具体如下:
在管理节点10.24.32.180执行:
ndb_mgm> start backup
Connected to Management Server at: localhost:1186
Waiting for completed, this may take several minutes
Node 3: Backup 1 started from node 1
Node 3: Backup 1 started from node 1 completed
StartGCP: 3305 StopGCP: 3308
#Records: 2060 #LogRecords: 0
Data: 51436 bytes Log: 0 bytes
ndb_mgm>
在数据节点10.24.32.183查看:
[root@strong ~]# ll /u01/BACKUP/BACKUP-1/
total 56
-rw-r--r--. 1 root root 26512 Mar 7 16:06 BACKUP-1-0.2.Data --2表示节点2
-rw-r--r--. 1 root root 22104 Mar 7 16:06 BACKUP-1.2.ctl
-rw-r--r--. 1 root root 52 Mar 7 16:06 BACKUP-1.2.log
[root@strong ~]#
在数据节点10.24.32.184查看:
[root@strong ~]# ll /u01/BACKUP/BACKUP-1/
total 56
-rw-r--r--. 1 root root 25468 Mar 7 16:06 BACKUP-1-0.3.Data
-rw-r--r--. 1 root root 22104 Mar 7 16:06 BACKUP-1.3.ctl
-rw-r--r--. 1 root root 52 Mar 7 16:06 BACKUP-1.3.log
[root@strong ~]#
对于大数据量备份,MySQL Cluster提供了一些参数,参数需放在config.ini的[ndbd default]或[ndbd]中:
- BackupDataBufferSize:将数据写入磁盘之前用于对数据进行缓存处理的内存大小;
- BackupLogBufferSize:将日志记录写入磁盘之前用于对日志进行缓冲处理的内存大小;
- BackupMemory:在数据库节点中为备份分配的总内存,是分配给备份数据缓冲的内存和分配给备份日志缓冲的内存之和;
- BackupWriteSize:每次写入磁盘的块大小,适用于备份数据缓冲和备份日志缓冲;
数据恢复
使用ndb_mgm> start backup进行备份的Cluster,必须使用ndb_restore工具进行数据恢复,测试如下:
备份前的数据:
mysql> select count(1) from t_cluster;
+----------+
| count(1) |
+----------+
| 20004 |
+----------+
1 row in set (0.01 sec)
mysql>
在数据节点10.24.32.183执行恢复: