400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
YMatrix 文档
关于 YMatrix
标准集群部署
数据写入
数据迁移
数据查询
运维监控
参考指南
工具指南
数据类型
存储引擎
执行引擎
系统配置参数
SQL 参考
常见问题(FAQ)
新架构 FAQ
集群部署 FAQ
SQL 查询 FAQ
MatrixGate FAQ
运维 FAQ
监控告警 FAQ
PXF FAQ
PLPython FAQ
性能 FAQ
本文档介绍了集群并行备份工具 mxbackup。
YAML
配置文件。具体配置参数及使用方法请见下文。参数名 | 描述 |
---|---|
--backup-dir directory | 写入备份文件的绝对路径 |
--compression-level level | 压缩级别,范围 1-9,默认 1 |
--data-only | 只备份数据,不备份模式(Schema) |
--dbname db | 需要备份的数据库 |
--debug | 输出调试级别的日志信息 |
--exclude-schema schema | 在备份时排除的schema,该参数可以通过使用多次来指定多个 Schema |
--exclude-schema-file file | 一个包含需要排除的 Schema 列表文件 |
--exclude-table table | 在备份时排除的表,该参数可以通过使用多次来指定多个表 |
--exclude-table-file file | 一个包含需要排除的表的列表文件 |
--from-timestamp timestamp | 增量备份时的起始时间戳,需要和 --incremental 参数一起使用 |
--help | 显示帮助信息 |
--history | 显示当前备份目录的历史时间戳 |
--include-schema schema | 指定需要备份的 Schema,可以通过多次使用来指定多个 Schema |
--include-schema-file file | 指定包含需要备份的 Schema 列表文件 |
--include-table table | 指定需要备份的表,可以通过多次使用来指定多个表 |
--include-table-file file | 指定包含需要备份的表的列表文件 |
--incremental | 增量备份,适用于 AO 表。需要和 --from-timestamp 参数一起使用 |
--jobs num | 备份时的并发连接数,默认为 1 |
--leaf-partition-data | 在备份分区表时,为每个分区创建单独的数据文件 |
--metadata-only | 只备份元数据,不备份表中数据 |
--no-compression | 不对表数据做压缩 |
--plugin-config file | 指定插件配置文件的位置 |
--quiet | 不显示所有非告警、非错误日志信息 |
--single-data-file | 备份数据到一个单独的文件而不是一个表一个文件 |
--verbose | 打印详细日志信息 |
--version | 打印工具版本号并退出 |
--with-stats | 备份统计信息 |
--without-globals | 不备份全局元数据 |
参数名 | 描述 | 必选 |
---|---|---|
executablepath | s3存储插件的绝对路径 | 是 |
region | 云平台的区域,如果配置了终端节点(endpoint),区域将会被忽略 | 是 |
aws_access_key_id | 用以连接 S3 存储桶(bucket)的云平台 S3 ID | 是 |
aws_secret_access_key | 云平台 S3 ID 的密码 | 是 |
bucket | 用来存储 mxbackup 数据文件的 S3 存储桶 | 是 |
endpoint | S3 的终端节点接口 | 否 |
encryption | 是否开启 S3 的 SSL 安全加密。有效值为 on 和 off,默认 on | 否 |
http_proxy | 用来连接 S3 的 HTTP 代理服务器的网址 | 否 |
backup_max_concurrent_requests | mxbackup 的请求并发数,默认值为 6 | 否 |
backup_multipart_chunksize | mxbackup 的最大缓存/块大小,默认值为 500MB | 否 |
restore_max_concurrent_requests | mxrestore 的请求并发数,默认值为 6 | 否 |
restore_multipart_chunksize | mxrestore 的最大缓存/块大小,默认值为 500MB | 否 |
配置文件模版如下,选取需要的参数行,并将 “<>” 或 “[]” 中内容(及 "<>"、“[]” 符号)替换为实际内容即可。
$ executablepath: <absolute-path-to-gpbackup_s3_plugin>
options:
region: <云平台区域>
endpoint: <S3 终端节点>
aws_access_key_id: <用户 ID>
aws_secret_access_key: <用户密钥>
bucket: <S3 存储桶>
folder: <S3 上存储数据的文件目录>
encryption: [on|off]
backup_max_concurrent_requests: [int]
backup_multipart_chunksize: [string]
restore_max_concurrent_requests: [int]
restore_multipart_chunksize: [string]
http_proxy:
<http://<用户名>:<安全密钥>@proxy.<域名>.com:端口号>
示例中数据库名为 demo,模式名为 twitter。
备份数据库。
$ mxbackup --dbname demo
备份 demo 数据库除 twitter 模式以外的数据。
$ mxbackup --dbname demo --exclude-schema twitter
仅备份 demo 数据库 twitter 模式下的数据。
$ mxbackup --dbname demo --include-schema twitter
备份 demo 数据库并将备份数据存储到 /home/mxadmin/backup
目录。
$ mxbackup --dbname demo --backup-dir /home/mxadmin/backup
在使用 S3 对象存储来备份和恢复你的数据之前,你需要首先拥有云平台的账号及存储桶(Bucket)权限。包括但不限于以下权限内容:
首先,你需要准备 S3 对象存储插件的配置文件 s3-config-file.yaml
。此示例中配置了部分常用参数,更多参数说明请见上文 2.2 部分。
$ executablepath: $GPHOME/bin/mxbackup_s3_plugin # S3 存储插件的绝对路径
options:
region: us-west-2 # 云平台区域
aws_access_key_id: test-s3-user # 登陆 S3 的 ID
aws_secret_access_key: asdf1234asdf # 登陆 S3 的密钥
bucket: matrixdb-backup # S3 存储桶
folder: backup3 # S3 对象存储中的文件目录名
随后,使用 mxbackup 工具并行备份 demo 数据库中的数据。
$ mxbackup --dbname demo --plugin-config /tmp/s3-config-file.yaml
mxbackup 备份数据成功后,会在 S3 对象存储中生成一个时间戳目录。备份成功后可使用 mxrestore 工具恢复 S3 上的数据。
$ backup3/backups/20221208/20221208185654
注意!
mxbackup 工具的日志文件目录为<gpadmin_home>/gpAdminLogs/gpbackup_s3_plugin_timestamp.log
,其中时间戳格式为YYYYMMDDHHMMSS
。