4.7.2的备份集群命令

备份集群[——backupid =backup_id[——snapshotstart |——snapshotend][——waitstarted |——waitcompleted]cluster_name

该命令创建一个名为cluster_name备份集群获取集群的备份NDB表;表使用其他MySQL存储引擎(如InnoDBMyISAM)被忽略。

默认情况下,该命令使用分配和返回的备份IDndb_mgmd(参见关于backup_id使用NDB集群管理客户端创建备份更多信息);方法指定备份ID,可以覆盖此行为——backupid选择。

——snapshotstart选项使备份与备份开始时的集群状态相匹配。

——snapshotend选项使备份反映备份完成时的集群状态。如果两个选项都没有指定,MySQL集群管理器客户端就像这样操作——snapshotend已经被使用。

——waitstarted选项,MySQL集群管理器客户端等待直到备份已经开始,然后将控制权返回给用户,在此之后,用户可以使用显示状态命令和——备份选择。

——waitcompleted选项,MySQL集群管理器客户端等待直到备份过程完成,然后将控制权返回给用户。如果既不——waitstarted——waitcompleted时,客户端的行为类似于——waitcompleted已经被使用。

备份集群mycluster;+-------------------------------+ | 命令的结果  | +-------------------------------+ | 备份成功完成  | +-------------------------------+ 1行集(33.50秒)

的输出可以验证备份是否已执行列表的备份,如下所示:

MCM >列表备份mycluster+----------+--------+---------+----------------------+---------+ | BackupId | NodeId |评论| |主机时间戳  | +----------+--------+---------+----------------------+---------+ | 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行集(0.02秒)

输出中的每一行都表示一个备份图像-即一组特定于给定数据节点上指定集群的给定备份的备份文件。时间戳值以UTC为单位。备份映像已保存在该文件夹中BackupDataDir/ /备份——备份Id,在那里BackupDataDir是集群参数。如果BackupDataDir不指定时,它占用的值为DataDir,使图像存储在目录中Datadir/ /备份——备份backup_id

通过删除该映像目录及其内容,可以从给定节点删除不需要的备份。要完全删除给定的备份,必须从每个数据节点中删除相应的映像备份目录中。只要没有进行备份或恢复操作,就可以执行此操作。在删除映像之前,不需要停止集群或MySQL集群管理器代理。

BackupId是使用中止备份而且恢复集群

NDB表元数据逻辑备份

为了在恢复期间更灵活地进行集群重新配置,从版本1.4.1开始备份集群命令还为集群中NDB表的元数据创建逻辑备份。使用——所有选择与列表的备份命令列出所有备份,包括NDB表元数据的逻辑备份,这些备份由注释标记模式

MCM > list backups—all newcluster;+----------+--------+---------+----------------------+---------+ | BackupId | NodeId |评论| |主机时间戳  | +----------+--------+---------+----------------------+---------+ | 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 |模式  | +----------+--------+---------+----------------------+---------+ 5行(0.02sec)

方法创建逻辑备份, mysqldump实用程序。备份文件以文件名保存备份,BackupIDmysql_nodeid.schema.sql扩展名,可在文件夹中找到backupdatadir/ /备份——备份id,在那里backupdatadir(注意名称是小写的)是amysqld该参数仅用于指定MySQL集群管理器创建的逻辑备份的位置。如果backupdatadir没有使用命令罗马数字的默认值/mcm_data_repository/集群/clustername/mysqld_nodeid/是否使用,以便将逻辑备份保存在文件夹中/mcm_data_repository/集群/clustername/mysqld_nodeid/ /备份——备份Id

对于创建NDB表元数据的逻辑备份,有以下限制:

  • 至少有一个mysqld要执行逻辑备份,节点必须在集群上运行

  • 没有为任何备份创建备份mysqld未运行的节点。

  • 非ndb表的元数据不备份。

  • 逻辑备份不是正确的时间点备份—当备份进程在集群上运行时,不应该在集群上执行DDL操作,否则备份的元数据将与备份的数据不一致。

NDB表元数据的备份有助于将数据从一个集群恢复到另一个具有不同配置的集群(例如,当要恢复的目标集群具有不同数量的数据节点时);看到第3.6.2.4节,“新增部分恢复数据节点”而且3.6.2.5“将备份恢复到数据节点较少的集群”对于某些用例。