1.人大金仓(kingbase)
备份命令【自定义格式】:
./sys_dump -h x.x.x.x -p 54321 -U name -d xgz-db -F c > /data/xgz-db.dmp
还原命令:
./sys_restore -h x.x.x.x -p 54321 -U name -d xgz-db -F c < /data/xgz-db.dmp
备份命令【sql格式】
./sys_dump -h x.x.x.x -p 54321 -U name -d xgz-db > /data/xgz-db.sql
还原命令:
./ksql -h x.x.x.x -p 54321 -U name -d xgz-db < /data/xgz-db.sql
注释:
-h 指定数据库地址
-p 端口
-U 用户名
-d 数据库名称
-F 输出格式化 (c 表示 custom 自定义导出文件一般为 .dmp或.dump;p 为默认格式 sql 脚本文件格式)-w --no-passwod 无需密码
-n 指定模式
-a 只备份数据
-t 指定表
常见问题:
1.密码参数
(1)取决于数据库的安全配置是否不需要本地密码连接
(2)取决于身份验证方法,基于宿主机的身份验证宿主机就可以不需要提供密码,所以上述命令未指定密码相关参数
2.非宿主机需要密码或定时备份脚本的情况,可以通过导入环境变量
定时备份脚本中导入export PGPASSWORD='pwd'
或
~./.bashrc中引用 export PGPASSWORD='pwd'
3.普通用户通过 crontab 定时备份的情况
(1)需确认普通用户是否有使用crontab的权限
编辑/etc/cron.allow,添加用户名
(2)需确认该用户是否可以使用当前环境变量
如无法备份数据,可在脚本中添加 source /~.bashrc 引用当前变量
2.greenplum/postgres 数据库
备份命令【sql格式】:
pg_dump -h x.x.x.x -p 5432 -U gpadmin -d xgz-db > /data/xgz-db.sql
备份到远程服务器命令:
pg_dump -h x.x.x.x -p 5432 -U gpadmin -d xgz-db | sshpass -p pwd ssh x.x.x.x "cat > /data/xgz-db.sql" (前提条件:需做免密或使用sshpass 插件)
还原命令:
psql -h x.x.x.x -p 5432 -U gpadmin -d xgz-db -f /data/xgz-db.sql
备份命令【自定义格式】:
pg_dump -h x.x.x.x -p 5432 -U gpadmin -d xgz-db -F c -f /data/xgz-db.backup
还原命令:
pg_restore -h x.x.x.x -p 5432 -U gpadmin -d xgz-db -f /data/xgz-db.backup
注释:
-h 指定数据库地址
-p 端口
-U 用户名
-d 数据库名-F 输出格式化 (c 表示 custom 自定义导出文件一般为 .backup;p 为默认格式 sql 脚本文件格式)
-w --no-passwod 无需密码
常见问题:
1.密码参数
(1)取决于数据库的安全配置是否不需要本地密码连接
(2)取决于身份验证方法,基于宿主机的身份验证宿主机就可以不需要提供密码,所以上述命令未指定密码相关参数
2.非宿主机需要密码或定时备份脚本的情况,可以通过导入环境变量
定时备份脚本中导入 export PGPASSWORD='pwd'
或
~./.bashrc中引用 export PGPASSWORD='pwd'
3.使用密码文件,当前用户下 vim ~/.pgpass (pgpass内容格式)
主机名/ip 端口 数据库名称 用户 数据库密码 db1/ip 5432 xgz-db gpadmin gpadmin export PGPASSFILE=~/.pgpass
3.达梦数据库
{待补充}
4.Clickhouse 数据库
需要安装clickhouse-backup工具,下载地址
【备份参数介绍】
clickhouse-backup create
--table value, --tables value, -t value 指定备份表可以指定多个,可使用正则表达式
--schema, -s 只备份模式(及结构),跳过数据【还原参数介绍】
clickhouse-backup restore
--table value, --tables value, -t value 指定还原表
--schema, -s 只还原模式(即结构)
--data, -d 只还原数据
--rm, --drop 还原前删除之前已存在的项(-d --rm 即删除之前存在的数据后进行还原数据)
-i, --ignore-dependencies 删除已存在的项时忽略其他依赖
1.备份命令【全量备份】:
clickhouse-backup create {备份名}还原命令【全量还原】:
clickhouse-backup restore --rm {备份名}
2.备份命令【指定库表备份】
[用法] clickhouse-backup create -t db_name.table_name {备份名}
clickhouse-backup create -t db_zbk.t_name bfbak (单表)
clickhouse-backup create -t db_zbk.t_name,db_zbk.t_class bfbak (指定多表)
clickhouse-backup create -t db_zbk.t_* bfbak (模糊多表)
clickhouse-backup create -t db_zbk.* bfbak (db_zbk全库所有表)
还原命令【指定库表还原】
[用法] clickhouse-backup restore -t db_name.table.name {备份名}
clickhouse-backup restore -t db_zbk.t_name bfbak (单表)
clickhouse-backup restore -t db_zbk.t_name,db_zbk.t_class bfbak (指定多表)
clickhouse-backup restore -t db_zbk.t_* bkbak (模糊多表)
clickhouse-backup restore -t db_zbk.* bkbak (db_zbk全库所有表)
clickhouse-backup restore -s -t db_zbk.t_name bfbak (恢复单表结构)
clickhouse-backup restore -d -t db_zbk.t_name bfbak (恢复单表数据)[ 不加-d 或 -s 代表全部恢复或备份 ]
3.备份还原其他设置【过滤某表不进行备份和还原】
[用法]修改clickhouse-backup的配置文件,通过配置
skip_tables
和skip_databases
参数来过滤不需要备份的表或数据库clickhouse: username: default password: "123456" skip_tables: 【默认配置无需备份表】 - "system.*" - "information_schema.*" #定于当前实例的状态信息,在还原时可能会造成冲突或不一致 - "INFORMATION_SCHEMA.*" #系统自动生成的元数据视图,还原时ClickHouse会自动重建 - "temporary_and_external_tables" #这是一个特殊的标识,代表临时表和外部表 【新增】 - "dy.*" # 过滤所有dy开头的表 - "session_data" # 过滤特定表名 - "test_db\\.temp.*" # 精确匹配test_db库下temp开头的表 skip_databases: - "test_db" # 过滤整个数据库 - "log_.*" # 过滤log_开头的所有库 批注: 在正则表达式中,点号.是一个特殊字符,表示匹配任意单个字符(除了换行符)。但是,在配置文件中,我们需要匹配字面意义上的点号(例如分隔数据库名和表名的点号),因此需要使用反斜杠进行转义,即\. 然而,在YAML配置文件中,字符串中的反斜杠本身也是转义字符,所以为了表示正则表达式中的\.,我们需要使用两个反斜杠:\\.。
注意:
(1)数据库中表结构如发生了变化后,直接恢复数据不会报错,只会按当前表结构进行数据写入。
(2)如备份文件中字段少于现有库中的字段,数据库中的字段将自动补充该字段的值为0。
(3)如备份文件中字段多于现有库中的字段,将丢弃多余数据。
所以需要先恢复表结构(即模式)后再倒入数据。
清除数据库中的数据
删除相关目录文件
/var/lib/clickhouse/data 目录下的数据,{保留default和system相关数据}
/var/lib/clickhouse/metadata 目录下的数据,{保留default和system相关数据}
清除备份数据
clickhouse-backup clean
默认读取clickhouse-backup配置文件中的保留策略,清除时按保留天数进行清理
general: backups_to_keep_local: 7 #保留最近的本地备份7份【值为0时不清理备份】
clickhouse-backup list
查看备份文件
5.elasticsearch 数据库
见已发布的文章 https://blog.youkuaiyun.com/wanglolaini/article/details/139841150?spm=1001.2014.3001.5502