备份与恢复

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

1. mxbackup

1.1 mxbackup常用参数列表

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

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的详细使用方法请参考文档