当前位置: 首页 > news >正文

常用数据库全库备份命令和还原命令(随手笔记)

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 -Ugpadmin-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 -Ugpadmin-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/ip5432xgz-dbgpadmingpadmin

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_tablesskip_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

查看备份文件

其他相关操作:

通过clickhouse-client 工具将dat文件插入数据库

cat /db/ckDat/1.dat | clickhouse-client --host=192.168.1.2 --port=9000 \ --user=default --password=123456 --format_csv_delimiter="$" \ --query="INSERT INTO new_database.t_test FORMAT CSV" #--format_csv_delimiter 判断数据文件中的分隔符

5.elasticsearch 数据库

见已发布的文章 https://blog.csdn.net/wanglolaini/article/details/139841150?spm=1001.2014.3001.5502

http://www.jsqmd.com/news/577892/

相关文章:

  • 运算符和循环判断
  • EMA指数滑动平均:从理论到实践的深度学习优化利器
  • 深耕冲孔链板输送机 为多行业定制输送方案 - 资讯焦点
  • 让AMD显卡运行CUDA应用:ZLUDA实用指南
  • vmware workstation 安装esxi ,ip 设置192.168.10.4, 网络中心 vmnet8 ip 网关也是同一个网段,但是浏览器打不开ip 地址
  • Solana 验证节点实战:从零到一搭建高可用RPC节点
  • qt设置样式问题总结
  • 2026嘉兴防水补漏头部推荐榜:精固防水行业标杆实力认证 - 资讯焦点
  • 机器学习基础(九):PyTorch入门
  • AI辅助开发:让快马智能生成带安全验证的路由器手机登录界面
  • 2026成都极简门品牌Top8推荐榜单与选购指南 - 企业推荐师
  • AI赋能论文写作:开题→综述→初稿→降重→答辩全流程拆解
  • BulletinBoard快速入门:10分钟创建你的第一个iOS引导卡片
  • 【把玩数据结构】详解队列
  • GKD规则冲突检测:自动化识别并提示重叠规则问题
  • 2026年国内热门殡葬用品品牌科普推荐(新手必看):寿衣选购不再踩坑 - 资讯焦点
  • ChatGPT_JCM前端构建工具对比:Webpack、Vite与Rollup
  • 终极指南:如何用danger-js在Jest测试框架中实现自动化代码审查
  • 【ROS2】雷达驱动实战:从FMCW原理到PointCloud2发布
  • ensp实战演练:用快马AI生成含隐蔽故障的网络项目,锤炼排错能力
  • 10分钟掌握 Terraform AWS EKS Blueprints 的 Karpenter 集成:实现自动节点扩展与成本优化终极指南
  • 温和溶石除味不刺激,2026除牙结石防口臭牙膏实测推荐:日常护齿必看 - 资讯焦点
  • 终极指南:Graph Nets从入门到精通 - 深度解析图神经网络消息传递机制
  • 别再乱调参数了!手把手教你用MATLAB/Simulink分析VSG多机并联的频率稳定性
  • 电子设备流水线适配z型链板提升机高性价比之选 - 资讯焦点
  • GraphQL Ruby解析器模式:10个业务逻辑分离与代码复用的终极技巧
  • TOAST UI Chart错误处理与调试终极指南:10个常见问题解决方案大全
  • Danger.js故障排除终极指南:解决10个最常见配置问题
  • 白发转黑发哪个品牌有效?黑奥秘“防白三件套”产品,白发转黑科学养发 - 美业信息观察
  • CameraKit-Android终极社区贡献指南:从新手到核心开发者的完整教程