连接Manager数据库方式

  原理, 内部使用
内容纲要

概要描述


不同版本的Manager后台存储数据方式不同,本文将介绍各个版本Manager数据存储的方式。

详细说明


判断manager是否开启高可用方法:

  1. 查看8180页面 点击 管理 > Manager高可用, 能点进去说明开启了, 提示是否需要安装则说明未开启
  2. manager节点执行 下面命令判断,值为false则未开启, true 则为开启
    manager8 之前版本:
    cat /etc/transwarp-manager/master/application.conf  |grep ha.en
    manager8 之后版本:
    cat /etc/transwarp-manager/master/application.properties |grep ha.en

未开启manager高可用

4.x版本

4.x版本Manager后台数据直接存储在json文件中,在Manager节点的/var/lib/transwarp-manager/master/data/data/目录下。

file

5.x及以上版本

5.x版本Manager后台数据存储在数据库中,根据是否开启Manager HA存储的数据库不同。
要访问数据库,登录Manager节点的shell,执行以下命令:

mysql -h localhost -u transwarp -p<密码> -S /var/run/mariadb/transwarp-manager-db.sock -D transwarp_manager

密码请参见/etc/transwarp-manager/master/db.properties文件中的io.transwarp.manager.db.password字段。

file

或者直接用下面命令登录MariaDB:

mysql -h localhost -u transwarp -p$(cat /etc/transwarp-manager/master/db.properties | grep io.transwarp.manager.db.password | awk -F = '{print $2}') -S /var/run/mariadb/transwarp-manager-db.sock -D transwarp_manager

Manager 6.0.2006a或7.0.2007a及以上版本

出于安全的考虑,manager的数据库密码不再以明文形式保存在db.properties文件中,因此,需要执行以下命令获取数据库明文密码:

java -cp /etc/transwarp-manager/master:/usr/lib/transwarp-manager/master/lib/*:/usr/lib/transwarp-manager/common/lib/* io.transwarp.manager.master.util.DbUtils

file

然后再使用这个密码登录manager数据库,例如未开启HA的:

file

或者直接用下面命令登录MariaDB:

mysql -h localhost -u transwarp -p$(java -cp /etc/transwarp-manager/master:/usr/lib/transwarp-manager/master/lib/*:/usr/lib/transwarp-manager/common/lib/* io.transwarp.manager.master.util.DbUtils) -S /var/run/mariadb/transwarp-manager-db.sock -D transwarp_manager

Manager 920及其以后的版本

mysql -h localhost -u transwarp -p$(/usr/lib/transwarp-manager/common/jdk/bin/java -cp /etc/transwarp-manager/master:/usr/lib/transwarp-manager/master/lib/*:/usr/lib/transwarp-manager/common/lib/* io.transwarp.manager.master.util.DbUtils) -S /var/run/mariadb/transwarp-manager-db.sock -D transwarp_manager

开启了Manager 高可用

manager ha 数据库是txsql时

开启HA时,数据库是TxSQL,在容器中,注意这个容器不是k8s管理的,按以下步骤登录数据库:

登录Manager节点的shell。
执行以下命令找出TxSQL的容器ID:

docker ps | grep -i manager-txsql

执行以下命令进入容器:

docker exec -it {容器id} bash

进入容器后执行一下命令就可以登录TxSQL,这里不需要输入密码,密码保存在容器中的/etc/manager/conf/db.properties文件中。

/usr/bin/txsql/tools/txsql.sh

进入manager-txsql数据库后需要 use transwarp_manager; 进入manager库

file

manager ha 数据库是kundb时

需要先登录未开启ha之前的mariadb 查看生成这个service时的数据信息

select * from service where name='Manager';

file
确认服务id为57

select * from service_config where name='root.password' and serviceId=57;

file

获取到Manager-KunDB的root账号密码为163431770

Manager 高可用网页上确认kundb的链接端口,下图环境为例,端口号是15309
file

mysq链接数据库

 mysql -h172.22.23.4 -P15309 -uroot -p163431770

这篇文章对您有帮助吗?

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

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

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

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