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

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

                export PGPASSFILE=~/.pgpass

3.达梦数据库

{待补充}

4.Clickhouse 数据库

需要安装clickhouse-backup工具,下载地址

alias ck='clickhouse-backup'

ck create 
    --table value, --tables value, -t value   指定备份表可以指定多个,可使用正则表达式
    --diff-from-remote value                   Create incremental embedded backup or upload incremental object disk data based on other remote backup name
    --schema, -s                                      Backup schemas only, will skip data


ck restore
   --table value, --tables value, -t value     Restore only database and objects which matched with table name patterns, separated by comma, allow ? and * as wildcard
   --schema, -s                                        Restore schema only
   --data, -d                                          Restore data only
   --rm, --drop                                        Drop exists schema objects before restore
   -i, --ignore-dependencies                           Ignore dependencies when drop exists schema objects
 

【本机备份-异机还原】

1.全量备份:
ck create {备份名}

1.全量还原:
ck restore {备份名}

2.指定库表备份
    ck create  -t db_name.table.name {备份名}--可省略默认为服务器时间格式命名

    ck create -t db_zbk.t_name  bfbak (单表)

    ck create -t db_zbk.t_name,db_zbk.t_class bfbak (指定多表)

    ck create -t db_zbk.t_* bfbak  (模糊多表)

    ck create -t db_zbk.* bfbak  (db_zbk全库所有表)


2.指定库表还原
ck restore -t db_name.table.name {备份名}

    ck restore -t db_zbk.t_name bfbak (恢复单表)

    ck restore -t db_zbk.t_name,db_zbk.t_class bfbak (恢复指定多表)
    
    ck restore -t db_zbk.t_* bkbak   (模糊多表)
    
    ck restore -t db_zbk.* bkbak  (恢复db_zbk全库所有表)
    
    
    ck restore -s -t  db_zbk.t_name bfbak (恢复单表结构)
    ck restore -d -t  db_zbk.t_name bfbak (恢复单表数据)

注意:数据库中表结构如发生了变化后,直接恢复数据不会报错,只会按当前表结构进行数据写入,如备份文件中字段少于现有库中的字段,数据库中的字段将自动补充0。如备份文件中字段多于现有库中的字段,将丢弃多余数据。所以需要先恢复表结构(即模式)后再倒入数据。

清除数据库中的数据
/var/lib/clickhouse/data 目录下的数据,{保留default和system相关数据}
/var/lib/clickhouse/metadata 目录下的数据,{保留default和system相关数据}
 

5.elasticsearch 数据库

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值