数据库版本:V8R3,小版本320
操作步骤:
1.停应用,保证数据没有更新
2.把原环境主库data拷贝到目标环境
停止目标环境的集群服务
kingbase_monitor.sh stop
备份目标环境的data
cd /kdb_data/kingbase/
mv data data_bak
拷贝原环境data
scp -r data root@xxx.xxx.xxx.xxx:/kdb_data/kingbase/
3.修改sys_hba.conf文件
vi sys_hba.conf
将原来的IP和掩码改为新的IP和掩码
4.修改db/etc和cluster/etc配置
把data目录里面的kingbase.conf拷贝到db/etc下面
修改recovery.done
5.启动主库数据库
sys_ctl start启动数据库,观察有没有报错。若正常启动,检查
6.重做备机
备份备机data,重做备机data(ip和账号以实际环境为准)
sys_basebackup -h 192.168.xxx.179 -D /home/kingbase/cluster/xxx/db/data -F p -x -v -P -U SYSTEM -W 123456 -p 54321,密码以实际为准
如果data目录中有recovery.done或者recovery.conf,删除这个文件
把新recovery.conf拷贝回去,编辑该文件,更改里面的密码(如密码和原来不一致)
在主库创建复制槽
查看复制槽信息
ksql -U SYSTEM -W 123456 -d TEST
select * from sys_replication_slots;
#创建复制槽需要配置 max_replication_slots 参数
select * from sys_create_physical_replication_slot(‘slot_kingbase01’);
select * from sys_create_physical_replication_slot(‘slot_kingbase02’);
启动备库数据库服务
192.168.xxx.128:
sys_ctl start -D /home/kingbase/cluster/xxx/db/data
查看备库数据库启动日志
cd /home/kingbase/cluster/xxx/db/data/sys_log
tail -100f kingbase-2021-08-03_220905.log
#在主库查看复制状态:
192.168.xxx.179
ksql -U SYSTEM -W 123456 -d TEST -p 9999
show pool_nodes;
ksql -U SYSTEM -W 123456 -d TEST
select * from sys_stat_replication;
select * from sys_replication_slots;
主备库 replication 进程
ps -ef|grep kingbase
主库 wal sender 进程
备库 wal receiver 和 startup 进程
7.检查数据