GDOM处理资源库、分析库或实时数据库用户或密码的变更方案

GDOM连接了3个数据库,其中实时库和历史库默认是gbase8a单机,资源库可选postgresql和mysql。如果这些数据库的IP、用户或密码变更,需要在gdom里做相应的修改才能继续正常使用。

配置文件

在安装目标gdom的目录下(demo.options的gdomRoot参数),不是安装包解压缩目录。

安装目录/install/gdom-service/config/application.properties

相关内容如下面。其中红色为资源库(gdom),蓝色为实时库,绿色为历史库。

根据参数,分别修改成正确的数据库IP,用户和密码即可。

gdom-service.serverId=1
gdom-service.serverIp=10.0.2.151
gdom-service.profile=/opt/gdom
gdom-service.version=v3.7.0-build3
spring.profiles.active=druid
server.port=8080
spring.data.redis.host=10.0.2.151
spring.data.redis.port=7481
spring.data.redis.database=0
spring.data.redis.password=lMKTy8cmcLqD5BJ9snl3qw==
rocketmq.name-server=10.0.2.151:9876
gdom.datasource.druid.master.driver=org.postgresql.Driver
gdom.datasource.druid.master.dbType=PostgreSQL
gdom.datasource.druid.master.url=jdbc:postgresql://10.0.2.151:5432/gdom?useUnicode=true&characterEncoding=utf8
gdom.datasource.druid.master.username=gdom
gdom.datasource.druid.master.password=dVFIIHIxM5KGmDHjW4VKgQ==
gdom.datasource.druid.analysis.url=jdbc:gbase://10.0.2.151:5268/gdom_real?useOldAliasMetadataBehavior=true&characterEncoding=UTF-8&useUnicode=true&characterSetResults=UTF-8&gclusterId=gdom1&failoverEnable=true&hostList=10.0.2.151
gdom.datasource.druid.analysis.username=gbase
gdom.datasource.druid.analysis.password=CRMSD4emUVT5HCD5H8Eotg==
gdom.datasource.druid.analysis-history.url=jdbc:gbase://10.0.2.151:5268/gdom_history?useOldAliasMetadataBehavior=true&characterEncoding=UTF-8&useUnicode=true&characterSetResults=UTF-8&gclusterId=gdom1&failoverEnable=true&hostList=10.0.2.151
gdom.datasource.druid.analysis-history.username=gbase
gdom.datasource.druid.analysis-history.password=CRMSD4emUVT5HCD5H8Eotg==
logging.config=/opt/gdom/install/gdom-service/config/log4j2-spring.xml
swagger.enabled=false
analysis.enable=true
analysis.range=10

修改方案

停止gdom

切换到gdom解压缩目录,停掉gdom。

./gdomStop.sh  -s

生成新密码的密文

切换到gdom安装目录下,将新密码作为参数运行。

[root@vm151 gdom]# ./install/gdom-service/bin/gdom-encrypt.sh NEWPASSWORD
BCzwBU0W10jD74i9IGH/qA==

将新密码加密后的字符串复制。

注意:密码为密文,二次加密用的base64。反向base64解码后是乱码密文,无安全问题。

[root@vm151 gdom]# echo BCzwBU0W10jD74i9IGH/qA== | base64 -d
,▒M▒H▒ a▒▒xterm[root@vm151 gdom]# 

[root@vm151 gdom]# echo BCzwBU0W10jD74i9IGH/qA== | base64 -d | xxd
00000000: 042c f005 4d16 d748 c3ef 88bd 2061 ffa8  .,..M..H.... a..
[root@vm151 gdom]#

更新配置文件

修改application.properties里面对应数据库的密码部分为上一步生成的密文。比如

gdom.datasource.druid.master.password=dVFIIHIxM5KGmDHjW4VKgQ==
改成
gdom.datasource.druid.master.password=XXXXXXXXXXX

启动gdom

切换到gdom解压缩目录

./gdomStart.sh  -s

然后登录界面,查看是否数据库访问正常了。

总结

数据库密码修改和gdom配置修改,建议同时安排操作,避免gdom报错了才知道数据库密码被改了。