HGDB企业版迁移到HGDB安全版
文章目录
- 环境
- 文档用途
- 详细信息
环境
系统平台:Linux x86-64 Red Hat Enterprise Linux 7
版本:4.5.8,6.0
文档用途
HGDB企业版数据库通过命令备份恢复,迁移到HGDB安全版中。
详细信息
1、环境介绍
1 IP 操作系统 cpux.x.65.10 Centos7.6 x86_64
2、企业版数据库备份数据
主要通过pg_dump命令进行数据库的备份,命令备份可以实现很多功能,例如整库备份、指定模式备份、指定表备份等等,下面为
pg_dump命令。
1、语法:
pg_dump [选项]....[数据库名字]
2、常用参数说明:
-h, --host=主机名: 数据库服务器的主机名或套接字目录
-p, --port=端口号: 数据库服务器的端口号
-U, --username=名字: 以指定的数据库用户联接
-a, --data-only: 只转储数据,不包括模式
-f, --file=FILENAME: 输出文件或目录名
-F format或者–format=format:设定文件输出的格式,format的值有p(plain)、c(custom)等,p是备份成纯文本的SQL脚 本,c是自定义格式,选择c时,文件扩展名一般是.backup
-n schema或者–schema=schema:指定备份的模式,多个模式时写-n schema1 -n schema2…
-s或者–schema-only:只备份DDL,与–data-only相反
-t table或者–table=table:指定备份的表(或视图、序列、外部表)
-v或者–verbose:打印备份日志
-Z 0…9或者–compress=0…9:压缩率,0表示不压缩。不写该参数的时候,默认进行中等级别压缩
–inserts: 备份时,数据备份为insert语句,而不是copy。不写该参数时,默认是copy
–column-inserts或者–attribute-inserts: 备份成带有列名的insert语句
-d dbname或者–dbname=dbname:指定要连接到的数据库名,等效于dbname参数
-O, --no-owner 在明文格式中, 忽略恢复对象所属者
3、整库备份
(1)命令格式如下
backup文件的备份命令:
pg_dump -h IPAddress -p port -U user -Fc -v -f backupfilepath dbname
sql文件的备份命令:
pg_dump -h IPAddress -p port -U user -Fp -v -f sqlfilepath dbname
(2)示例:
backup文件的备份示例:
pg_dump -h 127.0.0.1 -p 5866 -U highgo -Fc -v -f /data/hgdb.backup highgo
sql文件的备份示例:
pg_dump -h 127.0.0.1 -p 5866 -U highgo -Fp -v -f /data/hgdb.sql highgo
4、指定模式备份
(1)命令格式如下:
backup文件的备份命令:
pg_dump -h IPAddress -p port -U username -Fc -v -n public -n schemaname -f backupfilepath dbname
sql文件的备份命令:
pg_dump -h IPAddress -p port -U username -Fp -v -n public -n schemaname -f sqlfilepath dbname
(2)示例:
backup文件的备份示例:
pg_dump -h 127.0.0.1 -p 5866 -U highgo -Fc -v -n public -n myschema -f /data/hgdb.backup highgo
sql文件的备份命令示例:
pg_dump -h 127.0.0.1 -p 5866 -U highgo -Fp -v -n public -n myschema -f /data/myhgdb.sql highgo
3、备份的数据库文件恢复到HGDB安全版
本文通过pg_restore命令还原数据库,把pg_dump备份的backup文件恢复。
1、backup文件恢复
(1) pg_restore语法
pg_restore [选项]... [文件名]
(2) 常用参数说明
联接选项:
-h host或者–host=host:服务器的主机名或者IP地址
-p port或者–port=port:指定端口号
-U username或者–username=username:要连接的用户名
-d dbname或者–dbname=dbname:指定要还原的数据库名
-v或–verbose:打印还原日志
filename:backup文件的目录
(3) backup文件还原命令:
pg_restore -h IPAddress -p port -U username -d dbname -v filename
(4) 示例:
pg_restore -h 127.0.0.1 -p 5866 -U sysdba -d highgo -v /data/myhgdb.backup
2、sql文件的恢复
通过psql命令还原数据库,把pg_dump备份的sql文件恢复
(1) psql 语法
psql [选项]... [文件名]
(2) 常用参数说明
联接选项:
-h, --host=主机名 数据库服务器主机或socket目录
-p, --port=端口 数据库服务器的端口
-U, --username=用户名 指定数据库用户名
-w, --no-password 永远不提示输入口令
-W, --password 强制口令提示 (自动)
-f,–file=文件名 从文件中执行命令然后退出
(3)在Linux终端使用psql命令连接数据库:
psql -U sysdba -d highgo
(4)登录数据库内部,执行sql脚本,实行数据库恢复:
\i *.sql
(5)示例
数据库内部数据恢复
\i /data/myhgdb.sql
数据库外部数据恢复(无需进入数据库内部)
psql -U sysdba -d highgo -f /data/myhgdb.sql
使用命令进行备份恢复按照以上操作即可