备份与恢复

再稳定健壮的系统也无法保证不出故障,为了防止数据丢失,就需要定期做备份。YMatrix 提供了 mxbackupmxrestore 工具来实现集群的备份与恢复。

1 mxbackup

1.1 mxbackup 常用参数列表

参数 描述
--dbname 备份的数据库
--backup-dir 存储备份文件的目录
--metadata-only 仅备份元数据(DDL),不备份表内数据
--data-only 和--metadata-only相反,只备份数据
--jobs 并行备份时的任务数量,增加该值可以提高并行度
--include-table 指定要备份的表,格式为\<schema-name>.\<table-name>,可以指定多个

注意!
mxbackup 工具的详细使用方法请见 mxbackup

1.2 备份示例

基本用法如下:

mxbackup --dbname test --backup-dir /home/mxadmin/backup

注意!
mxbackup 不提供数据库连接参数,所以要在 Master 节点上执行,并使用免密账户登录。 登录前请配置好 PGHOST、PGUSER、PGPORT 环境变量。

执行如上命令后,下面来看一下目录中文件内容。备份目录的文件层级如下:

mxseg{节点号}/backups/{日期}/{日期+时间戳}

备份数据就在该目录中。

节点号 Master 为 -1,Segment 从 0 开始递增。如果主机上有多个节点,则存在多个 mxseg{节点号}目录。

2 mxrestore

mxrestore 用来恢复用 mxbackup 生成的备份数据。用法如下:

mxrestore --backup-dir /home/mxadmin/backup --timestamp 20210820143820

--backup-dir 指定备份目录,与 mxbackup 一致

--timestamp 指定备份的时间戳,是备份目录中{日期+时间戳}这层的目录名,因为可能存在多次备份。

执行上述命令后,数据库则会进行恢复。

注意!
mxrestore 工具的详细使用方法请见 mxrestore