首先,给大家介绍一下TDSQL。TDSQL MySQL 版(TDSQL for MySQL)是腾讯打造的一款分布式数据库产品,具备强一致高可用、全球部署架构、分布式水平扩展、高性能、企业级安全等特性,同时提供智能 DBA、自动化运营、监控告警等配套设施,为客户提供完整的分布式数据库解决方案。(TDSQL(mysql版)产品详细信息https://cloud.tencent.com/product/dcdb/details)

相信有部分公司已经在使用或者试用过这款数据库产品了,那么在部署和使用中都或多或少的遇到一些问题,下面我先给各位介绍一下我遇到的这个问题。

一、问题:

众所周知,TDSQL集群会在一开始初始化时产出一个监控库实例,正常情况下我们是不建议用户去操作或者独自操作监控库这个实例的。但如果因为误操作与不小心修改了监控库的密码,并且又没有记住,下面这段应该能帮到你。

二、故障复现:

以下操作为我在自己的测试环境进行的问题复现。

1、修改监控库密码:

2、进入监控库实例,查看实例的访问账户信息:

3、对如上tdsqlpcloud账号进行修改密码操作:

4、在确认修改密码之后,窗口立马会出现php错误提示信息:

随后我们刷新赤兔页面,将会发现赤兔已经没有办法正常访问了。

三、排查过程与问题解决:

1、接下来就是我们的排查思路,首先我们先看报错,最上面提示我们username or password error就已经暴露出问题,证明这个问题是我们修改密码导致的。而下面的Backtrace暴露给我们的则是赤兔页面上的组件监控获取的方式,同样是去监控库里面取所需要的数据。

2、在部署的过程中我们已知有这么几个地方会存放监控库的账户名密码,第一是在安装部署包的group_vars/all内,但这个只是初期录入的监控库信息,修改并不会起作用。后面我们就想第二个会存放的地方,那就是赤兔的php配置文件

可见这里的密码还不是我们修改后的密码,我们接着找。

3、在初始化赤兔的时候如果有注意的话会发现除了创建了监控库还会创建一个配置库,默认库名为tdsqlpcloud,配置库中一般一会存储用户名和密码,虽然当前没有办法通过proxy登陆数据库,但还是能够通过root权限登陆数据库的,所以我们看一下配置库中的表信息。

可见这里的密码仍然不是我们修改后的密码,我们接着找。

其中authentication_string字段被password()函数进行了加密。

这个应该就是我们最后要找的密码,但是进行了加密,解密太过麻烦,所以我们尝试换一种思路,不去纠结现在的密码是什么,选择用一串已知的字符,使用此加密算法进行加密,之后替换user:tdsqlpcloud的authentication_string字段暴力改掉密码。经过试验,此方法依旧行不通,应该是修改密码操作改动的地方不只是这几个。

4、从底层直接修改的密码看来是不可行的,所以我们就想能不能够仿照管控重新下发修改密码操作,这样就能重新让管控走一遍密码修改的流程,接下来我们再试验一下。

5、登录任意一台机器的后台,只要能和OSS服务通信,执行如下命令:

curl -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{"callee":"TDSQL","caller":"DES","eventId":101,"interface":{"interfaceName":"TDSQL.ResetPwd","para":{"groupid":"","host":"%","id":"set_id","pwd":"userpassword","user":"username"}},"password":"DES","timestamp":1435749309,"version":"1.0"}' 10.0.0.5:8080/tdsql

6、查看执行结果见到有"err_msg":"resetpwd ok","returnMsg":"ok",则继续下一步。

尝试刷新赤兔页面,如果访问不正常则是因为之前我们修改过赤兔的配置文件和配置库中的密码。所以我们要把密码恢复到一致。都修改一致后,我们重新尝试刷新赤兔页面,页面已恢复正常。

由此事可知,在使用tdsql过程中修改实例密码一定要牢记!!!一定要牢记!!

经过一番操作后,赤兔管理平台与监控库实例终于可以正常访问和使用了,希望上述的过程能够帮到各位。祝在读此文章的大牛们工作顺利,事事顺心。

文章来源:云贝学院

腾讯云TDSQL监控库密码忘记问题解决实战的更多相关文章

  1. 腾讯云TDSQL审计原理揭秘

    版权声明:本文由孙勇福原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/244 来源:腾云阁 https://www.qclo ...

  2. 使用腾讯云“自定义监控”监控GPU使用率

    欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者:李想 随着人工智能以及比特币的火热,GPU云服务的使用场景是越来越广,在很多场景下我们也需要获取GPU服务器的性能参数来优化程序的执行.目 ...

  3. 286万QPS!腾讯云TDSQL打造数据库领域的“超音速战机”

    Bloodhound SSC超音速汽车将陆地极限速度提升到1678公里/小时,号称陆地“超音速战斗机”.无独有偶,同样也在2017年,在英特尔®.腾讯金融云团队的共同见证下,腾讯云数据库TDSQL采用 ...

  4. 强强联袂!腾讯云TDSQL与国双战略签约,锚定国产数据库巨大市场

    日前,腾讯云计算(北京)有限责任公司与北京国双科技有限公司签署了<国产数据库产品战略合作协议>,双方将在数据库技术方面展开深度合作,通过分布式交易型数据库的联合研发.产品服务体系建设.品牌 ...

  5. 借助腾讯云CDN开启全站https及问题解决分享

    版权声明:本文由张戈原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/78 来源:腾云阁 https://www.qcloud ...

  6. 腾讯云TDSQL PostgreSQL版 -最佳实践 |优化 SQL 语句

    查看是否为分布键查询 postgres=# explain select * from tbase_1 where f1=1; QUERY PLAN ------------------------- ...

  7. 腾讯云TDSQL MySQL版 - 开发指南 二级分区

    TDSQL MySQL版 目前支持 Range 和 List 两种格式的二级分区,具体建表语法和 MySQL 分区语法类似. 二级分区语法 一级 Hash,二级 List 分区示例如下: MySQL ...

  8. 腾讯云TDSQL MySQL版 - 开发指南 分布式事务

    由于事务操作的数据通常跨多个物理节点,在分布式数据库中,类似方案即称为分布式事务. TDSQL MySQL版 支持普通分布式事务协议和 XA 分布式事务协议.TDSQL MySQL版(内核5.7或以上 ...

  9. 关于linux密码忘记问题解决方法

    最近在试装centos,不小心把密码丢了,进不去,查了一下资料,找到了方法,试验成功.存在这里,备用. 1. 在出现grub画面时,用上下键选中你平时启动linux的那一项,然后按e键 2. 再次用上 ...

随机推荐

  1. 使用pdb进行Python调试

    调试应用有时是一个不受欢迎的工作,当你长期编码之后,只希望写的代码顺利运行.但是,很多情况下,我们需要学习一个新的语言功能或者实验检测新的方法,从而去理解其中运行的机制原理. 即使不考虑这样的场景,调 ...

  2. 创建Akamai cdn api授权

    注:通过Akamai Cli purge和通过Akamai API进行刷新之前,都要事先创建类似于如下的刷新的凭据,这两种刷新方式所创建的凭据是相同的. 目的:创建Akamai CDN API授权以便 ...

  3. 单片机引脚扩展芯片74HC595手工分解实验

    我们先来看下效果 74HC595是常用的串转并芯片,支持芯片级联实现少量IO口控制多个IO口输出功能 14脚:DS,串行数据输入引脚 13脚:OE, 输出使能控制脚,它是低电才使能输出,所以接GND ...

  4. 35、sudo权限设置

    提示:sudo的介绍在"13.linux中用户和用户组"中有详细介绍: (1)简历里要加上如下项目经验: 服务器用户权限管理改造方案与实施项目 日期: 在了解公司业务流程后,提出权 ...

  5. Gym 101308D Database 枚举

    大致题意: 给出一张表,n行m列,每一行的列用逗号分隔.判断这个表是否有冗余元素.如果一张表中有两行两列对应的的元素相同,那么这个表就有冗余元素. 分析: 先枚举要排序的列,然后枚举行,如果相邻两行相 ...

  6. AcWing 201. 可见的点

    在一个平面直角坐标系的第一象限内,如果一个点(x,y)与原点(0,0)的连线中没有通过其他任何点,则称该点在原点处是可见的. 编写一个程序,计算给0<x,y<=n定整数N的情况下,满足的可 ...

  7. MySQL 卡死的问题

    1. 执行show full processlist观察state和info两列,查看有哪些线程在运行. 2.使用kill命令+对应线程前面id杀死卡死的线程. 其他的方式: -- 查询是否锁表 sh ...

  8. php混淆加密解密实战

    在查看别人的php源码的时候,我们经常会看到加密后的php代码.那么php加密原理是什么呢?怎么解密呢? 混淆加密 我们从百度随便搜索一个加密网站,例如:http://dezend.qiling.or ...

  9. LeetCode周赛5214

    我去,暴力超时,没啥人情味了.难受,一看答案,结果是dp的题目... 思路分析: 1.用个表记录下每个数当前的最大长度,同时是等差,说明有上一个数,那么当前的长度就是上一个数最大加一

  10. 「CF446C」 DZY Loves Fibonacci Numbers

    「CF446C」 DZY Loves Fibonacci Numbers 这里提供一种优美的根号分治做法. 首先,我们考虑一种不太一样的暴力.对于一个区间加斐波那契数的操作 \([a,b]\),以及一 ...