正文
人大金仓备份恢复的简单学习
背景
最近公司里要适配人大金仓
想着最快的办法是将自己的数据库备份恢复到现场
发现备份很简单. 理论上恢复应该也类似.
想着能够模仿PG数据库的模式进行相关的操作.
备份操作
cd /opt/Kingbase/ES/V8/Server/bin/
./sys_dump -h 127.0.0.1 -p 54321 -d "myapp0203" -U myapp0203 -f /opt/Kingbase/myapp0203_back.dump
# 纯文本模式导出
很快就可以备份好. 速度跟PG是很类似的.
语法也非常接近.
需要注意: 有一个format的命令:
-F, --format=c|d|t|p output file format (custom, directory, tar,
plain text (default))
如果不设定的话. 默认是文本模式导出. 都是sql语句的样式, 恢复需要使用 ksql (psql的变种)
如果使用 -F c 模式的话 可以使用 sys_restore的方式执行恢复.
这一块需要尤其注意.
./sys_dump -h 127.0.0.1 -p 54321 -d "myapp0203" -U myapp0203 -F c -f /opt/Kingbase/myapp0203_restore.dump
二进制方式导出, 可以使用restore的方式恢复.
创建用户表空间等
su - kingbase
# 切换用户
ksql -U system -d test -w
# 注意, 我是测试数据库. 默认数据库是 test
# 注意本地用户是可以直接登录的, 与PG也是比较类似
# 创建为其他数据库的话需要单独再处理.
create role "myapp0203" superuser login;
create database "myapp0203" ;
alter role "myapp0203" with password 'TestBirthdayofMyson';
执行恢复
ksql -U myapp0203 -h 127.0.0.1 -d myapp0203 -p 54321 -f /opt/Kingbase/myapp0203.dump
# 注意如果是选择 -F c 模式备份的可以使用如下命令
sys_restore -U myapp0203 -d myapp0203 /opt/Kingbase/myapp0203.dump
简单配置检查
使用之前的应用连接备份恢复好的数据库进行验证.
注意 text 模式导出快,但是导入会比较慢
可以进行选择等.