1. 程式人生 > 其它 >kingbaseES R3叢集修改system使用者密碼方案V3.0

kingbaseES R3叢集修改system使用者密碼方案V3.0

方案說明:


   對於kingbaseES R3叢集修改system密碼相比單機環境有一定的複雜性,需要修改的位置如下:
   1)資料庫中system使用者密碼,可以用alter user命令修改
   2)在recovery.conf和recovery.done檔案中,備庫連線主庫時,需要使用system使用者認證(base64加密)
   3)叢集認證檔案cluster_passwd中需要使用system使用者認證,密碼採用sys_md5工具加密。

案例資料庫版本:


TEST=# select version();
                                                         version
-----------------------------------------------------------------------------------------------------------------
 Kingbase V008R003C002B0180 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46),64-bit
(1 row)

叢集架構:

一、修改資料庫使用者system密碼(在主庫完成)

1) 通過kingbase_monitor.sh關閉叢集

` `通過手工方式啟動主備庫的資料庫服務(sys_ctl),保證主備庫的流複製狀態正常(sys_stat_replication),登入主庫修改system使用者訪問資料庫的口令,備庫自動通過主備複製同步修改。``

2)登入資料庫修改system使用者密碼


[kingbase@node1 bin]$ /home/kingbase/cluster/kha/db/bin/ksql -U system -W 123456 -d TEST
ksql (V008R003C002B0180)
Type "help" for help.

TEST=# alter user system with password 'beijing';
ALTER ROLE
TEST=# \q

3)用新密碼登入測試


[kingbase@node1 bin]$ /home/kingbase/cluster/kha/db/bin/ksql -U system -W 123456 -d TEST
ksql: FATAL:  password authentication failed for user "system"

[kingbase@node1 bin]$ /home/kingbase/cluster/kha/db/bin/ksql -U system -W beijing -d TEST
ksql (V008R003C002B0180)
Type "help" for help.


TEST=# \c prod;
You are now connected to database "prod" as user "system".

二、在主備庫修改recovery.conf 和recovery.done檔案密碼


注意: 
     1)除了修改主備庫data目錄下的recovery.done和recovery.conf檔案。
     2)還要修改主備庫etc下的recovery.done檔案,這個檔案在備庫用network_rewind.sh做recovery時會覆蓋備庫data下的recovery.conf檔案。

1、修改備庫recovery.conf:
1) 檢視system原密碼


[kingbase@node2 data]$ cat recovery.conf
standby_mode='on'
primary_conninfo='port=54321 host=192.168.7.248 user=SYSTEM password=MTIzNDU2 application_name=node02'
recovery_target_timeline='latest'
primary_slot_name ='slot_node02'

[kingbase@node2 data]$ echo MTIzNDU2|base64 -d
123456

2)加密system使用者新密碼


[kingbase@node2 data]$ echo beijing |base64
YmVpamluZwo=

3)修改recovery.conf和recovery.done檔案


[kingbase@node2 data]$ cat recovery.conf
standby_mode='on'
primary_conninfo='port=54321 host=192.168.7.248 user=SYSTEM password=YmVpamluZwo= application_name=node02'
recovery_target_timeline='latest'
primary_slot_name ='slot_node02'

[kingbase@node2 data]$ cat recovery.done
standby_mode='on'
primary_conninfo='port=54321 host=192.168.7.248 user=SYSTEM password=YmVpamluZwo= application_name=node02'
recovery_target_timeline='latest'
primary_slot_name ='slot_node02'

2、修改etc/recovery.done檔案

三、修改cluster_passwd檔案(注意SYSTEM使用者名稱要用大寫)

1、修改主庫cluster_passwd

1)備份原cluster_passwd檔案

[kingbase@node1 etc]$ cp cluster_passwd cluster_passwd.old

2)通過sys_md5工具生成新的密碼


[kingbase@node1 etc]$ cd ../bin
[kingbase@node1 bin]$ ./sys_md5  -m -f ../etc/kingbasecluster.conf -u SYSTEM beijing

3)對比新舊密碼


[kingbase@node1 bin]$ cat ../etc/cluster_passwd
SUPERMANAGER_V8ADMIN:md5f7902af5f3f7cdcad02b5ca09320d102
SYSTEM:md53b8241a37e0492c38a986844abb8d06b

[kingbase@node1 bin]$ cat ../etc/cluster_passwd.old
SUPERMANAGER_V8ADMIN:md5f7902af5f3f7cdcad02b5ca09320d102
SYSTEM:md53afebd0fba6df9fc2cf82c0b09926bcc

2、修改備庫cluster_passwd


[kingbase@node2 data]$ cd ../..
[kingbase@node2 kha]$ cd kingbasecluster/bin

[kingbase@node2 bin]$ cat ../etc/cluster_passwd
SUPERMANAGER_V8ADMIN:md5f7902af5f3f7cdcad02b5ca09320d102
SYSTEM:md53afebd0fba6df9fc2cf82c0b09926bcc

[kingbase@node2 bin]$ ./sys_md5  -m -f ../etc/kingbasecluster.conf -u SYSTEM beijing
[kingbase@node2 bin]$ cat ../etc/cluster_passwd
SUPERMANAGER_V8ADMIN:md5f7902af5f3f7cdcad02b5ca09320d102
SYSTEM:md53b8241a37e0492c38a986844abb8d06b

四、重啟叢集

1) 重啟叢集服務

[kingbase@node2 bin]$ ./kingbase_monitor.sh restart
-----------------------------------------------------------------------
2021-03-22 11:07:20 KingbaseES automation beging...
2021-03-22 11:07:20 stop kingbasecluster [192.168.7.248] ...

Authorized users only. All activities may be monitored and reported.
DEL VIP NOW AT 2021-03-22 11:07:20 ON enp0s3
No VIP on my dev, nothing to do.

Authorized users only. All activities may be monitored and reported.
2021-03-22 11:07:21 Done...
2021-03-22 11:07:21 stop kingbasecluster [192.168.7.249] ...

Authorized users only. All activities may be monitored and reported.
DEL VIP NOW AT 2021-03-22 11:07:21 ON enp0s3
No VIP on my dev, nothing to do.

Authorized users only. All activities may be monitored and reported.
2021-03-22 11:07:22 Done...
2021-03-22 11:07:22 stop kingbase [192.168.7.248] ...

Authorized users only. All activities may be monitored and reported.
set /home/kingbase/cluster/kha/db/data down now...
2021-03-22 11:07:24 Done...
2021-03-22 11:07:25 Del kingbase VIP [192.168.7.245/24] ...

Authorized users only. All activities may be monitored and reported.
DEL VIP NOW AT 2021-03-22 11:07:25 ON enp0s3
execute: [/sbin/ip addr del 192.168.7.245/24 dev enp0s3]
Oprate del ip cmd end.
2021-03-22 11:07:25 Done...
2021-03-22 11:07:25 stop kingbase [192.168.7.249] ...

Authorized users only. All activities may be monitored and reported.
set /home/kingbase/cluster/kha/db/data down now...
2021-03-22 11:07:33 Done...
2021-03-22 11:07:34 Del kingbase VIP [192.168.7.245/24] ...

Authorized users only. All activities may be monitored and reported.
DEL VIP NOW AT 2021-03-22 11:07:34 ON enp0s3
No VIP on my dev, nothing to do.
2021-03-22 11:07:34 Done...
......................
all stop..

Authorized users only. All activities may be monitored and reported.

Authorized users only. All activities may be monitored and reported.

Authorized users only. All activities may be monitored and reported.

Authorized users only. All activities may be monitored and reported.

Authorized users only. All activities may be monitored and reported.

Authorized users only. All activities may be monitored and reported.
ping trust ip 192.168.7.1 success ping times :[3], success times:[3]

Authorized users only. All activities may be monitored and reported.
ping trust ip 192.168.7.1 success ping times :[3], success times:[3]

Authorized users only. All activities may be monitored and reported.

Authorized users only. All activities may be monitored and reported.

Authorized users only. All activities may be monitored and reported.
start crontab kingbase position : [1]
Redirecting to /bin/systemctl restart crond.service

Authorized users only. All activities may be monitored and reported.
ADD VIP NOW AT 2021-03-22 11:07:43 ON enp0s3
execute: [/sbin/ip addr add 192.168.7.245/24 dev enp0s3 label enp0s3:2]
execute: /sbin/arping -U 192.168.7.245 -I enp0s3 -w 1
ARPING 192.168.7.245 from 192.168.7.245 enp0s3
Sent 1 probes (1 broadcast(s))
Received 0 response(s)

Authorized users only. All activities may be monitored and reported.

Authorized users only. All activities may be monitored and reported.

Authorized users only. All activities may be monitored and reported.
start crontab kingbase position : [2]
Redirecting to /bin/systemctl restart crond.service

Authorized users only. All activities may be monitored and reported.
ping vip 192.168.7.245 success ping times :[3], success times:[3]

Authorized users only. All activities may be monitored and reported.
ping vip 192.168.7.245 success ping times :[3], success times:[3]
now,there is a synchronous standby.
wait kingbase recovery 5 sec...

Authorized users only. All activities may be monitored and reported.
start crontab kingbasecluster line number: [2]
Redirecting to /bin/systemctl restart crond.service

Authorized users only. All activities may be monitored and reported.
/home/kingbase/cluster/kha/db/bin/all_monitor.sh: line 306: warning: command substitution: ignored null byte in input

Authorized users only. All activities may be monitored and reported.
start crontab kingbasecluster line number: [3]
Redirecting to /bin/systemctl restart crond.service

Authorized users only. All activities may be monitored and reported.
/home/kingbase/cluster/kha/db/bin/all_monitor.sh: line 306: warning: command substitution: ignored null byte in input
......................
all started..
...
now we check again

Authorized users only. All activities may be monitored and reported.
/home/kingbase/cluster/kha/db/bin/all_monitor.sh: line 306: warning: command substitution: ignored null byte in input

Authorized users only. All activities may be monitored and reported.
/home/kingbase/cluster/kha/db/bin/all_monitor.sh: line 306: warning: command substitution: ignored null byte in input

Authorized users only. All activities may be monitored and reported.

Authorized users only. All activities may be monitored and reported.

Authorized users only. All activities may be monitored and reported.
=======================================================================
|             ip |                       program|              [status]
[  192.168.7.248]|             [kingbasecluster]|              [active]
[  192.168.7.249]|             [kingbasecluster]|              [active]
[  192.168.7.248]|                    [kingbase]|              [active]
[  192.168.7.249]|                    [kingbase]|              [active]
=======================================================================

2)檢視叢集服務程序

[kingbase@node2 bin]$ ps -ef |grep kingbase
kingbase    2169       1  0 Mar19 ?        00:00:00 /usr/lib/systemd/systemd --user
kingbase    2170    2169  0 Mar19 ?        00:00:00 (sd-pam)
root        3856    2562  0 Mar19 pts/0    00:00:00 su - kingbase
kingbase    3857    3856  0 Mar19 pts/0    00:00:00 -bash
kingbase  380605       1  0 Mar21 ?        00:00:04 /home/kingbase/cluster/kha6/kha6/kingbase/bin/kbha -A daemon -f /home/kingbase/cluster/kha6/kha6/kingbase/bin/../etc/repmgr.conf
kingbase  717813       1  0 11:07 ?        00:00:00 /home/kingbase/cluster/kha/db/bin/kingbase -D /home/kingbase/cluster/kha/db/data
kingbase  717814  717813  0 11:07 ?        00:00:00 kingbase: logger process
kingbase  717815  717813  0 11:07 ?        00:00:00 kingbase: startup process   recovering 000000010000000000000006
kingbase  717819  717813  0 11:07 ?        00:00:00 kingbase: checkpointer process
kingbase  717820  717813  0 11:07 ?        00:00:00 kingbase: writer process
kingbase  717821  717813  0 11:07 ?        00:00:00 kingbase: stats collector process
kingbase  717822  717813  0 11:07 ?        00:00:00 kingbase: wal receiver process   streaming 0/60000D0
root      718723       1  0 11:08 ?        00:00:00 ./kingbasecluster -n
root      718766  718723  0 11:08 ?        00:00:00 kingbasecluster: watchdog
root      718767  718723  0 11:08 ?        00:00:00 kingbasecluster: lifecheck
root      718768  718767  0 11:08 ?        00:00:00 kingbasecluster: heartbeat receiver
root      718769  718767  0 11:08 ?        00:00:00 kingbasecluster: heartbeat sender
root      718770  718723  0 11:08 ?        00:00:00 kingbasecluster: wait for connection request
root      718771  718723  0 11:08 ?        00:00:00 kingbasecluster: wait for connection request
root      718772  718723  0 11:08 ?        00:00:00 kingbasecluster: wait for connection request
root      718773  718723  0 11:08 ?        00:00:00 kingbasecluster: wait for connection request
root      718774  718723  0 11:08 ?        00:00:00 kingbasecluster: wait for connection request
root      718775  718723  0 11:08 ?        00:00:00 kingbasecluster: wait for connection request
root      718776  718723  0 11:08 ?        00:00:00 kingbasecluster: wait for connection request
root      718777  718723  0 11:08 ?        00:00:00 kingbasecluster: wait for connection request
root      718778  718723  0 11:08 ?        00:00:00 kingbasecluster: wait for connection request
root      718779  718723  0 11:08 ?        00:00:00 kingbasecluster: wait for connection request
root      718780  718723  0 11:08 ?        00:00:00 kingbasecluster: wait for connection request
root      718781  718723  0 11:08 ?        00:00:00 kingbasecluster: wait for connection request
root      718782  718723  0 11:08 ?        00:00:00 kingbasecluster: wait for connection request
root      718783  718723  0 11:08 ?        00:00:00 kingbasecluster: wait for connection request
root      718784  718723  0 11:08 ?        00:00:00 kingbasecluster: wait for connection request
root      718785  718723  0 11:08 ?        00:00:00 kingbasecluster: wait for connection request
root      718786  718723  0 11:08 ?        00:00:00 kingbasecluster: PCP: wait for connection request
root      718787  718723  0 11:08 ?        00:00:00 kingbasecluster: worker process

五、在主庫上驗證叢集狀態

[kingbase@node1 bin]$ ./ksql -U SYSTEM -W beijing -p 9999 TEST
ksql (V008R003C002B0180)
Type "help" for help.

TEST=# show pool_nodes;
 node_id |   hostname    | port  | status | lb_weight |  role   | select_cnt | load_balance_node | replication_de
lay
---------+---------------+-------+--------+-----------+---------+------------+----------
 0       | 192.168.7.248 | 54321 | up     | 0.500000  | primary | 0          | true              | 0
 1       | 192.168.7.249 | 54321 | up     | 0.500000  | standby | 0          | false             | 0
(2 rows)

TEST=# select * from sys_stat_replication;
  pid   | usesysid | usename | application_name |  client_addr  | client_hostname | client_port |         backend
_start         | backend_xmin |   state   | sent_location | write_location | flush_location | replay_location | s
ync_priority | sync_state
--------+----------+---------+------------------+---------------+-----------------+-----
 744439 |       10 | SYSTEM  | node02           | 192.168.7.249 |                 |       18376 | 2021-03-22 11:0
7:44.130199+08 |              | streaming | 0/60000D0     | 0/60000D0      | 0/60000D0      | 0/60000D0       |
           2 | sync
(1 row)

六、總結
測試案例是在通用機版本下完成,不同的版本修改,system使用者是資料庫管理中的管理員,對於密碼的修改,儘量能在測試環境下先測試成功後,再在生產環境實施。

七、附件:詳細測試案例

kingbaseES R3叢集修改SYSTEM使用者密碼測試案例

系統環境:

[kingbase@node2 bin]$ cat /etc/centos-release
CentOS Linux release 7.2.1511 (Core)
test=# select version();
                                                         version                                                  
       
------------------------------------------------------------------------------------------------------------------
 Kingbase V008R003C002B0270 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46), 
64-bit
(1 row)

一、通過kingbase_monitor.sh關閉叢集,手工啟動主備資料庫服務

主庫:

[kingbase@node2 ~]$ ps -ef |grep kingbase
kingbase  2827     1  0 12:01 ?        00:00:00 /home/kingbase/cluster/R6HA/KHA/kingbase/bin/kbha -A daemon -f /home/kingbase/cluster/R6HA/KHA/kingbase/bin/../etc/repmgr.conf
root      3789  3694  0 12:08 pts/0    00:00:00 su - kingbase
kingbase  3790  3789  0 12:08 pts/0    00:00:00 -bash
kingbase  4061     1  0 12:10 pts/0    00:00:00 /home/kingbase/cluster/kha/db/bin/kingbase -D ../data
kingbase  4062  4061  0 12:10 ?        00:00:00 kingbase: logger process   
kingbase  4064  4061  0 12:10 ?        00:00:00 kingbase: checkpointer process   
kingbase  4065  4061  0 12:10 ?        00:00:00 kingbase: writer process   
kingbase  4066  4061  0 12:10 ?        00:00:00 kingbase: wal writer process   
kingbase  4067  4061  0 12:10 ?        00:00:00 kingbase: autovacuum launcher process   
kingbase  4068  4061  0 12:10 ?        00:00:00 kingbase: archiver process   
kingbase  4069  4061  0 12:10 ?        00:00:00 kingbase: stats collector process   
kingbase  4070  4061  0 12:10 ?        00:00:00 kingbase: bgworker: syslogical supervisor   
kingbase  4077  4061  0 12:10 ?        00:00:00 kingbase: wal sender process SYSTEM 192.168.7.248(13986) streaming 0/160000D0

備庫:

[kingbase@node1 bin]$ ps -ef |grep kingbase
kingbase  2452     1  0 12:00 ?        00:00:00 /home/kingbase/cluster/R6HA/KHA/kingbase/bin/kbha -A daemon -f /home/kingbase/cluster/R6HA/KHA/kingbase/bin/../etc/repmgr.conf
root      3809  3706  0 12:09 pts/0    00:00:00 su - kingbase
kingbase  3810  3809  0 12:09 pts/0    00:00:00 -bash
kingbase  3989     1  0 12:10 pts/0    00:00:00 /home/kingbase/cluster/kha/db/bin/kingbase -D ../data
kingbase  3990  3989  0 12:10 ?        00:00:00 kingbase: logger process   
kingbase  3991  3989  0 12:10 ?        00:00:00 kingbase: startup process   recovering 000000020000000000000015
kingbase  3995  3989  0 12:10 ?        00:00:00 kingbase: checkpointer process   
kingbase  3996  3989  0 12:10 ?        00:00:00 kingbase: writer process   
kingbase  3997  3989  0 12:10 ?        00:00:00 kingbase: stats collector process 

檢視主備流複製狀態:

[kingbase@node2 bin]$ ./ksql -U system -W 123456 test -p 54322
ksql (V008R003C002B0270)
Type "help" for help.

test=# select * from sys_stat_replication;
 pid  | usesysid | usename | application_name |  client_addr  | client_hostname | client_port |         backend_st
art         | backend_xmin |   state   | sent_location | write_location | flush_location | replay_location | sync_
priority | sync_state 
------+----------+---------+------------------+---------------+-----------------+-------------+-------------------
------------+--------------+-----------+---------------+----------------+--------------
 4077 |       10 | SYSTEM  | node1            | 192.168.7.248 |                 |       13986 | 2021-03-01 12:10:1
0.297089+08 |              | streaming | 0/160000D0    | 0/160000D0     | 0/160000D0     | 0/160000D0      |      
       1 | sync
(1 row)

在主庫修改system使用者登入資料庫密碼,自動複製到備庫:

test=# alter user system with password '123456Abc';
ALTER ROLE

主庫測試新密碼登入:

[kingbase@node2 bin]$ ./ksql -U system -W 123456Abc test -p 54322
ksql (V008R003C002B0270)
Type "help" for help.

test=# select * from sys_stat_replication;         
 pid  | usesysid | usename | application_name |  client_addr  | client_hostname | client_port |         backend_st
art         | backend_xmin |   state   | sent_location | write_location | flush_location | replay_location | sync_
priority | sync_state 
------+----------+---------+------------------+---------------+-----------------+--------
 4077 |       10 | SYSTEM  | node1            | 192.168.7.248 |                 |       13986 | 2021-03-01 12:10:1
0.297089+08 |              | streaming | 0/16000528    | 0/16000528     | 0/16000528     | 0/16000528      |      
       1 | sync
(1 row)

test=# select * from sys_replication_slots;
 slot_name  | plugin | slot_type | datoid | database | active | active_pid | xmin | catalog_xmin | restart_lsn | c
onfirmed_flush_lsn 
------------+--------+-----------+--------+----------+--------+------------+------+------
 slot_node1 |        | physical  |        |          | t      |       4077 | 2102 |              | 0/16000608  | 
 slot_node2 |        | physical  |        |          | f      |            |      |              |             | 
(2 rows)

備庫測試新密碼登入:

[kingbase@node1 bin]$ ./ksql -U system -W 123456Abc test -p 54322
ksql (V008R003C002B0270)
Type "help" for help.

test=# select sys_is_in_recovery();
 sys_is_in_recovery 
--------------------
 t
(1 row)

二、修改recovery.conf(recovery.done)system使用者密碼

1、對新密碼通過base64加密


[`kingbase@node2 data]$ echo "123456Abc"| base64
MTIzNDU2QWJjCg==

2、更新主庫recovery.done密碼

[kingbase@node2 data]$ cat recovery.done 
standby_mode='on'
primary_conninfo='port=54322 host=192.168.7.248 user=SYSTEM password=MTIzNDU2QWJjCg== application_name=node2'
recovery_target_timeline='latest'
primary_slot_name ='slot_node2'

3、主庫etc/recovery.done檔案:

4、更新備庫recovery.conf密碼

[kingbase@node1 data]$ cat recovery.conf 
standby_mode='on'
primary_conninfo='port=54322 host=192.168.7.249 user=SYSTEM password=MTIzNDU2QWJjCg== application_name=node1'
recovery_target_timeline='latest'
primary_slot_name ='slot_node1'

5、備庫etc/recovery.done檔案:

三、更新cluster_passwd中md5加密的密碼

主庫更新:

[kingbase@node2 etc]$ cat cluster_passwd 
SUPERMANAGER_V8ADMIN:md5f7902af5f3f7cdcad02b5ca09320d102
SYSTEM:md53afebd0fba6df9fc2cf82c0b09926bcc**
[kingbase@node2 etc]$ cp cluster_passwd cluster_passwd.old

[kingbase@node2 bin]$ ./sys_md5  -m -f ../etc/kingbasecluster.conf -u SYSTEM 123456Abc
[kingbase@node2 bin]$ cat ../etc/cluster_passwd
SUPERMANAGER_V8ADMIN:md5f7902af5f3f7cdcad02b5ca09320d102
SYSTEM:md5a6c84a57d7fbe4af93b5d9e9ef9f4d46

備庫更新:

[kingbase@node1 kha]$ cd kingbasecluster/bin
[kingbase@node1 bin]$ cat ../etc/cluster_passwd 
SUPERMANAGER_V8ADMIN:md5f7902af5f3f7cdcad02b5ca09320d102
SYSTEM:md53afebd0fba6df9fc2cf82c0b09926bcc

[kingbase@node1 bin]$ ./sys_md5  -m -f ../etc/kingbasecluster.conf -u SYSTEM 123456Abc
[kingbase@node1 bin]$ cat ../etc/cluster_passwd 
SUPERMANAGER_V8ADMIN:md5f7902af5f3f7cdcad02b5ca09320d102
SYSTEM:md5a6c84a57d7fbe4af93b5d9e9ef9f4d46

四、重新用kingbase_monitor.sh啟動叢集

[kingbase@node1 bin]$ ./kingbase_monitor.sh restart
-----------------------------------------------------------------------
2021-03-01 12:24:18 KingbaseES automation beging...
2021-03-01 12:24:18 stop kingbasecluster [192.168.7.248] ...
DEL VIP NOW AT 2021-03-01 12:24:19 ON enp0s3
No VIP on my dev, nothing to do.
2021-03-01 12:24:20 Done...
2021-03-01 12:24:20 stop kingbasecluster [192.168.7.249] ...
DEL VIP NOW AT 2021-03-01 12:23:17 ON enp0s3
No VIP on my dev, nothing to do.
2021-03-01 12:24:21 Done...
2021-03-01 12:24:21 stop kingbase [192.168.7.248] ...
set /home/kingbase/cluster/kha/db/data down now...
2021-03-01 12:24:24 Done...
2021-03-01 12:24:25 Del kingbase VIP [192.168.7.245/24] ...
DEL VIP NOW AT 2021-03-01 12:24:25 ON enp0s3
No VIP on my dev, nothing to do.
2021-03-01 12:24:26 Done...
2021-03-01 12:24:26 stop kingbase [192.168.7.249] ...
set /home/kingbase/cluster/kha/db/data down now...
2021-03-01 12:24:30 Done...
2021-03-01 12:24:31 Del kingbase VIP [192.168.7.245/24] ...
DEL VIP NOW AT 2021-03-01 12:23:28 ON enp0s3
No VIP on my dev, nothing to do.
2021-03-01 12:24:31 Done...
......................
all stop..
ping trust ip 192.168.7.1 success ping times :[3], success times:[2]
ping trust ip 192.168.7.1 success ping times :[3], success times:[2]
start crontab kingbase position : [1]
Redirecting to /bin/systemctl restart  crond.service
start crontab kingbase position : [2]
Redirecting to /bin/systemctl restart  crond.service
ADD VIP NOW AT 2021-03-01 12:23:43 ON enp0s3
execute: [/sbin/ip addr add 192.168.7.245/24 dev enp0s3 label enp0s3:2]
execute: /home/kingbase/cluster/kha/db/bin/arping -U 192.168.7.245 -I enp0s3 -w 1
ARPING 192.168.7.245 from 192.168.7.245 enp0s3
Sent 1 probes (1 broadcast(s))
Received 0 response(s)
ping vip 192.168.7.245 success ping times :[3], success times:[2]
ping vip 192.168.7.245 success ping times :[3], success times:[3]
now,there is a synchronous standby.
wait kingbase recovery 5 sec...
start crontab kingbasecluster line number: [2]
Redirecting to /bin/systemctl restart  crond.service
start crontab kingbasecluster line number: [3]
Redirecting to /bin/systemctl restart  crond.service
......................
all started..
...
now we check again
=======================================================================
|             ip |                       program|              [status] 
[  192.168.7.248]|             [kingbasecluster]|              [active]
[  192.168.7.249]|             [kingbasecluster]|              [active]
[  192.168.7.248]|                    [kingbase]|              [active]
[  192.168.7.249]|                    [kingbase]|              [active]
=======================================================================

五、測試system使用者新密碼訪問


[kingbase@node2 bin]$ ./ksql -U system -W 123456Abc test -p 54322
ksql (V008R003C002B0270)
Type "help" for help.

test=# select * from sys_replication_slots;
 slot_name  | plugin | slot_type | datoid | database | active | active_pid | xmin | catalog_xmin | restart_lsn | c
onfirmed_flush_lsn 
------------+--------+-----------+--------+----------+--------+------------+------+------
 slot_node1 |        | physical  |        |          | t      |       7132 | 2102 |              | 0/170000D0  | 
 slot_node2 |        | physical  |        |          | f      |            |      |              |             | 
(2 rows)

test=# select * from sys_stat_replication; 
 pid  | usesysid | usename | application_name |  client_addr  | client_hostname | client_port |         backend_st
art         | backend_xmin |   state   | sent_location | write_location | flush_location | replay_location | sync_
priority | sync_state 
------+----------+---------+------------------+---------------+-----------------+------
 7132 |       10 | SYSTEM  | node1            | 192.168.7.248 |                 |       14037 | 2021-03-01 12:23:4
2.131536+08 |              | streaming | 0/170000D0    | 0/170000D0     | 0/170000D0     | 0/170000D0      |      
       1 | sync
(1 row)

[kingbase@node2 bin]$ ./ksql -U SYSTEM -W 123456Abc test -p 9999
ksql (V008R003C002B0270)
Type "help" for help.

test=# show pool_nodes;
 node_id |   hostname    | port  | status | lb_weight |  role   | select_cnt | load_balance_node | replication_del
ay 
---------+---------------+-------+--------+-----------+---------+------------+-------------------+----------------
---
 0       | 192.168.7.248 | 54322 | up     | 0.500000  | standby | 0          | true              | 0
 1       | 192.168.7.249 | 54322 | up     | 0.500000  | primary | 0          | false             | 0
(2 rows)

test=# select * from sys_stat_replication;
 pid  | usesysid | usename | application_name |  client_addr  | client_hostname | client_port |         backend_st
art         | backend_xmin |   state   | sent_location | write_location | flush_location | replay_location | sync_
priority | sync_state 
------+----------+---------+------------------+---------------+-----------------+-------
 7132 |       10 | SYSTEM  | node1            | 192.168.7.248 |                 |       14037 | 2021-03-01 12:23:4
2.131536+08 |              | streaming | 0/170000D0    | 0/170000D0     | 0/170000D0     | 0/170000D0      |      
       1 | sync
(1 row)