txsql 的root密码修改方法

  其他常见问题
内容纲要

概要描述


TxSQL 的 root 用户被 TxSQL 的 phxbinlogsvr 角色使用,因此 root 用户的密码不能直接使用SQL语句进行修改,因为直接的修改不能将这种更改通知到 phxbinlogsvr 角色,会导致 phxbinlogsvr 无法连接到其对应的 MySQL 角色,然后导致 TxSQL 瘫痪。
本案例针对 TDH 集群的TXSQL 服务的 root 用户密码修改做一个演示。

详细说明


TDH 集群修改TXSQL 服务的root 密码的操作主要分以下几个步骤:

  1. 在 TXSQL Master 主节点,使用 txsql.sh 脚本修改 root 用户密码
  2. 使用修改后的密码以及 socket 登录 TXSQL 数据库修改 ‘root’@’%’ 的密码
  3. 修改 TXSQL 服务配置中的 root 用户密码
  4. 修改其他使用 root 密码的服务中 root 密码的配置
  5. 重启 TXSQL 生效

在 TXSQL Master 主节点,使用 txsql.sh 脚本修改 root 用户密码

进入TXSQL Master pod,执行/usr/bin/txsql/tools/txsql.sh passwd -p <旧密码> -P <新密码>

旧密码可以通过配置文件查看,相关配置文件为:/etc/txsql1/conf/db.properties,具体参见下图:

执行修改密码后的输出如下:

file

使用修改后的密码以及 socket 登录 TXSQL 数据库修改 ‘root’@’%’ 的密码

在pod内,使用 root 用户登录 txsql,然后修改root在其他host的密码:
登录的时候需要指定 socket,socket 的获取方式可以通过 ps -ef|grep mysqld 的输出查看,如下图所示;

file

mysql -uroot -p1qaz2wsX -S /vdir/hadoop/txsql/percona.workspace/tmp/percona.sock

然后修改root 用户在其他节点的密码;

SET PASSWORD FOR 'root'@'%' = PASSWORD('<新密码>');

file

修改 TXSQL 服务配置中的 root 用户密码

针对旧版本的Manager,可以在 Manager 页面上直接修改 TxSQL 配置中的 root 用户的密码,修改之后配置TxSQL服务。

较新版本的TDH的 Manager 页面取消了明文的txsql密码修改,需要逐个修改pod内 /usr/bin/txsql/etc/db.properties 文件中配置的root用户的密码。

file

同时进入到 Manager 的 MariaDB 中修改对应的配置配置项为 root.password

select * from service_config where serviceId=(select id from service where type = 'TXSQL'); 

file

然后更新该配置项root.password的 value 值为新密码

update service_config set value='1qaz2wsX' where name='root.password' and serviceId=(select id from service where type = 'TXSQL');

file

修改其他使用 root 密码的服务中 root 密码的配置。

如果有其他使用root 密码的服务,也需要使用类似第三步的方法修改 root 用户密码

重启 TXSQL 生效

重启txsql生效,此处一定是在manager 页面重启txsql,不能只是在后台删除 txsql 的pod。

使用新密码登录验证。

file

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。