backup cluster [--backupid=backup_id]
[--snapshotstart | --snapshotend]
[--waitstarted | --waitcompleted]
cluster_name
此命令创建名为 MySQL NDB Cluster 的备份
cluster_name
。backup
cluster
只备份集群的
NDB
表;使用其他 MySQL 存储引擎(例如
InnoDB
或
MyISAM
)的表将被忽略。
默认情况下,此命令使用ndb_mgmd分配和返回的备份 ID (有关更多信息,请参阅
使用 NDB 集群管理客户端创建备份backup_id
中
的讨论
);您可以通过使用该选项
指定备份 ID 来覆盖此行为
。--backupid
该
--snapshotstart
选项使备份与备份开始时集群的状态相匹配。
该--snapshotend
选项使备份在备份完成时反映集群的状态。如果未指定任何选项,则 MySQL Cluster Manager 客户端的行为就好像
--snapshotend
已被使用一样。
使用该
--waitstarted
选项时,MySQL Cluster Manager 客户端会等到备份开始后才将控制权返回给用户,之后用户可以使用
show status命令和该--backup
选项检查备份进程的状态。
使用该
--waitcompleted
选项时,MySQL Cluster Manager 客户端会等待备份过程完成,然后再将控制权返回给用户。如果既未
指定--waitstarted
也
--waitcompleted
未指定,则客户端的行为就好像
--waitcompleted
已被使用过一样。
mcm> backup cluster mycluster;
+-------------------------------+
| Command result |
+-------------------------------+
| Backup completed successfully |
+-------------------------------+
1 row in set (33.50 sec)
您可以通过检查 的输出来验证备份是否已执行list backups
,如下所示:
mcm> list backups mycluster;
+----------+--------+---------+----------------------+---------+
| BackupId | NodeId | Host | Timestamp | Comment |
+----------+--------+---------+----------------------+---------+
| 1 | 1 | tonfisk | 2016-10-24 22:24:54Z | |
| 1 | 2 | tonfisk | 2016-10-24 22:24:54Z | |
| 2 | 1 | tonfisk | 2016-10-24 22:24:54Z | |
| 2 | 2 | tonfisk | 2016-10-24 22:24:54Z | |
+----------+--------+---------+----------------------+---------+
4 rows in set (0.02 sec)
输出中的每一行代表一个备份
映像——即特定于给定数据节点上命名集群的给定备份的一组备份文件。Timestamp
值采用 UTC。备份图像保存在文件夹
中,其中是一个集群参数。如果
不指定,则占用 的值
,使图片存放在目录 中
。
BackupDataDir
/BACKUP/BACKUP-Id
BackupDataDir
BackupDataDir
DataDir
Datadir
/BACKUP/BACKUP-backup_id
通过删除此映像目录及其内容,可以从给定节点中删除不需要的备份。BACKUP
要完全删除给定的备份,您必须从每个数据节点的目录中删除相应的图像。只要备份或还原操作未在进行中,您就可以执行此操作。在删除图像之前不需要停止集群或 MySQL Cluster Manager 代理。
与和
BackupId
一起使用
。
abort backup
restore cluster
NDB 表元数据的逻辑备份
为了在恢复期间为集群重新配置提供更大的灵活性,从 1.4.1 版开始,该
backup cluster
命令还为集群中 NDB 表的元数据创建逻辑备份。将
--all
选项与list backups
命令一起使用以列出所有备份,包括 NDB 表元数据的逻辑备份,这些备份由注释
“ Schema ”标记:
mcm> list backups --all newcluster;
+----------+--------+---------+----------------------+---------+
| BackupId | NodeId | Host | Timestamp | Comment |
+----------+--------+---------+----------------------+---------+
| 1 | 1 | tonfisk | 2016-08-12 16:55:52Z | |
| 1 | 2 | tonfisk | 2016-08-12 16:55:52Z | |
| 1 | 3 | tonfisk | 2016-08-12 16:55:52Z | |
| 1 | 4 | tonfisk | 2016-08-12 16:55:52Z | |
| 1 | 50 | tonfisk | 2016-08-12 16:55:55Z | Schema |
+----------+--------+---------+----------------------+---------+
5 rows in set (0.02 sec)
逻辑备份是使用
mysqldump实用程序创建的。备份以文件
扩展名保存,可在文件夹中找到
,其中(注意名称是小写的)是一个mysqld参数,仅用于指定由 MySQL Cluster Manager 创建的逻辑备份的位置。如果在mcm客户端使用命令
不指定,则使用默认值
,这样逻辑备份保存在文件夹中
。
BACKUP-
BackupID
.mysql_nodeid
.schema.sqlbackupdatadir
/BACKUP/BACKUP-id
backupdatadir
backupdatadir
set
/
mcm_data_repository
/clusters/clustername
/mysqld_nodeid
//
mcm_data_repository
/clusters/clustername
/mysqld_nodeid
/BACKUP/BACKUP-Id
以下限制适用于为 NDB 表元数据创建逻辑备份:
At least one mysqld node must be running on the cluster for the logical backup to be performed
No backup was created for any mysqld node that was not running.
Metadata for non-NDB tables are not backed up.
The logical backup is NOT a proper point-in-time backup—no DDL operations should be performed on the cluster when the backup process is running on the cluster, or the backed-up metadata will become inconsistent with the backed-up data.
NDB 表元数据的备份有助于将数据从集群恢复到具有不同配置的另一个集群(例如,当要恢复的目标集群具有不同数量的数据节点时);有关一些用例,请参阅 第 3.6.2.4 节“部分恢复 - 添加的数据节点”和 第 3.6.2.5 节“将备份恢复到具有较少数据节点的集群”。