VIP地址: 198.120.3.100
通过VIP访问数据库在主库,也可通过数据库本地节点的IP地址访问对应的主备数据库。
1. 数据库登录
su - kingbase --(密码NKing-9700)
cd /home/kingbase/cluster/kingbase/bin
./ksql -U his -W -d his --(密码 His@9700)
或
./ksql -h 198.120.3.100 -p 54321 -U his -W -d his
方案一:正常起停主备集群流程操作
--------------------------------------------------------------------------
1. 一键启停集群(随便一个节点上操作)
su - kingbase
cd /home/kingbase/cluster/kingbase/bin
./sys_monitor.sh stop --停止集控
3. 重启数据库服务器
reboot
4. 启动数据库主备集群
su - kingbase
cd /home/kingbase/cluster/kingbase/bin
./sys_monitor.sh start --启动集控
5.查看集群状态
su - kingbase
cd /home/kingbase/cluster/kingbase/bin
./repmgr cluster show
方案二:只重启备机服务器
---------------------------------------------------------------------------
数据节点指集群中有primary(主节点) 或standby(备节点) 数据库的节点
1. 查看集群状态
su - kingbase
cd /home/kingbase/cluster/kingbase/bin
./repmgr cluster show
2. 确认要重启的是备机,数据库会自动恢复
reboot
方案三 : 只重启的是主机服务器
-------------------------------------------------------------------------
数据节点指集群中有primary(主节点) 或standby(备节点) 数据库的节点
1. 查看集群状态
su - kingbase
cd /home/kingbase/cluster/kingbase/bin
./repmgr cluster show
2. 集群主备切换
在备节点上操作
su - kingbase
cd /home/kingbase/cluster/kingbase/bin
./repmgr standby switchover
3. 等原来的主机变成备机后再进行重启
su - kingbase
cd /home/kingbase/cluster/kingbase/bin
./repmgr cluster show
3.1 再重启服务器
reboot
不建议如下操作
方案四:直接重启主备服务器
----------------------------------------------------------------------------
1. 直接主库重启后,短时间内重启备库(在备库还没有接管成主库前重启)
reboot
2. 查看集群状态
su - kingbase
cd /home/kingbase/cluster/kingbase/bin
./repmgr cluster show
方案五:关闭主库,间隔几分钟时间后再关闭备库
-------------------------------------------------------------------------
1. 关闭主库,主节点会自动切换到在线备节点(变成主库)
shutdown
2. 等备节点接管成主节点后,再关闭备服务器(新主库)
shutdown
3. 先启动备节点(新主库),等启动好后,
启动服务器
4. 再重启原来的主节点(变成备库)
启动服务器
5. 查看集群状态
su - kingbase
cd /home/kingbase/cluster/kingbase/bin
./repmgr cluster show
方案六:同时关闭二节点服务器,待其中一台启动后再启动另一台
-------------------------------------------------------------------------
1. 同时关闭二节点服务器
shutdown
2. 启动其中一台服务器,待完成启动后,
启动服务器
3. 再启动另一台服务器
启动服务器
4. 查看集群状态
su - kingbase
cd /home/kingbase/cluster/kingbase/bin
./repmgr cluster show
多主时判断新主机
数据库关闭时:sys_controldata -D data
1.时间线大的是新主机Latest checkpoint’s TimeLineID
2.lsn大的数据量更多,一般认为是新主机Latest checkpoint location
数据库启动时:
1.数据量大的一般是新主机select sys_database_size(‘database’);
确定新主机后sys_monitor.sh stop关闭集群,在主机上执行sys_ctl -D $data_path start启动新主机
恢复备机(备机执行命令):
1.sys_ctl -D $data_path stop
2.repmgr -h 新主机ip -Uesrep -desrep -p 数据库端口 node rejoin –force-rewind
在恢复失败的节点上重做备机(备机执行命令)(会覆盖备机原有data目录):
1.sys_ctl -D $data_path stop
2.repmgr -h 新主机ip -Uesrep -desrep -p 数据库端口 -D $data_path standby clone -F
3.sys_ctl -D $data_path start
4.repmgr standby register -F
恢复完成后sys_monitor.sh restart重启集群,并可在备机执行repmgr standby switchover或断网,重启等方式测试集群切机情况。
状态检查
1.repmgr cluster show
正常状态只有1个主机,且所有节点状态为running
2.repmgr service status
正常状态为Paused?为no
3.查询流复制状态
ksql -h 主机ip -U system -d test -c “select * from sys_stat_replication;”