腾讯云TDSQL监控库密码忘记问题解决实战
首先,给大家介绍一下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监控库密码忘记问题解决实战的更多相关文章
- 腾讯云TDSQL审计原理揭秘
版权声明:本文由孙勇福原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/244 来源:腾云阁 https://www.qclo ...
- 使用腾讯云“自定义监控”监控GPU使用率
欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者:李想 随着人工智能以及比特币的火热,GPU云服务的使用场景是越来越广,在很多场景下我们也需要获取GPU服务器的性能参数来优化程序的执行.目 ...
- 286万QPS!腾讯云TDSQL打造数据库领域的“超音速战机”
Bloodhound SSC超音速汽车将陆地极限速度提升到1678公里/小时,号称陆地“超音速战斗机”.无独有偶,同样也在2017年,在英特尔®.腾讯金融云团队的共同见证下,腾讯云数据库TDSQL采用 ...
- 强强联袂!腾讯云TDSQL与国双战略签约,锚定国产数据库巨大市场
日前,腾讯云计算(北京)有限责任公司与北京国双科技有限公司签署了<国产数据库产品战略合作协议>,双方将在数据库技术方面展开深度合作,通过分布式交易型数据库的联合研发.产品服务体系建设.品牌 ...
- 借助腾讯云CDN开启全站https及问题解决分享
版权声明:本文由张戈原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/78 来源:腾云阁 https://www.qcloud ...
- 腾讯云TDSQL PostgreSQL版 -最佳实践 |优化 SQL 语句
查看是否为分布键查询 postgres=# explain select * from tbase_1 where f1=1; QUERY PLAN ------------------------- ...
- 腾讯云TDSQL MySQL版 - 开发指南 二级分区
TDSQL MySQL版 目前支持 Range 和 List 两种格式的二级分区,具体建表语法和 MySQL 分区语法类似. 二级分区语法 一级 Hash,二级 List 分区示例如下: MySQL ...
- 腾讯云TDSQL MySQL版 - 开发指南 分布式事务
由于事务操作的数据通常跨多个物理节点,在分布式数据库中,类似方案即称为分布式事务. TDSQL MySQL版 支持普通分布式事务协议和 XA 分布式事务协议.TDSQL MySQL版(内核5.7或以上 ...
- 关于linux密码忘记问题解决方法
最近在试装centos,不小心把密码丢了,进不去,查了一下资料,找到了方法,试验成功.存在这里,备用. 1. 在出现grub画面时,用上下键选中你平时启动linux的那一项,然后按e键 2. 再次用上 ...
随机推荐
- 【C语言】整型在内存中的存储
整型在内存中的存储 1.整型的归类 char short int long 以上都分为有符号(signed)与无符号(unsigned)的类型 2.原码.反码和补码 2.1 定义 计算机在表示一个数字 ...
- R-聚类
一.定义:将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类 二.距离:欧几里得度量(euclidean metric)也称欧氏距离 绝对值距离(manhattan) ...
- C#调用JAVA(一)制作jar包
1 //AndroidJavaClass类可以理解为某一个类 2 //AndroidJavaObject类可以理解为某一个类中的一个对象 打开AS,创建一个空项目 输入项目名,包名,本地路径以及语言之 ...
- Sentinel流控与熔断
参考: https://thinkwon.blog.csdn.net/article/details/103770879 项目结构 com.guo ├── guo-sentinel ...
- python自定义异常,使用raise引发异常
1.自定义异常类,自定义的异常类必须是Exception或者Error的子类! 1 #!/usr/bin/env python 2 # encoding: utf-8 3 4 class Illega ...
- mybatis 配置的log4j文件无效,不能正常显示日志信息
正在学习mybatis,配置好后log4j.properties文件后,日志信息不能正常显示,没有效果. 查看了一下mybatis的相关文档,在日志一栏找到问题愿意 原因是我们的mybatis选了其他 ...
- VisibleDeprecationWarning , Creating an ndarray from ragged nested sequences... 警告怎么办
我不是完美主义,但是至少,我在做实验的时候不能容忍有 warning 的出现. 今天使用 tensorflow.keras.datasets中的 imdb 数据集,使用 imdb.load_data( ...
- 「CF521E」 Cycling City
「CF521E」 Cycling City 传送门 首先你能发现这个东西一定是两个环的公共边. 最开始想的是什么如果一个点被访问过三次那它一定是公共边的某一端之类的东西,然后发现被仙人掌叉掉. 然后就 ...
- python 12篇 mock接口之flask模块
一.使用pip install flask按照flask模块. import flask,json # 轻量级web开发框架 server = flask.Flask(__name__) @serve ...
- STP、生成树的算法
STP.生成树的算法 一.STP 1)STP概述 2)交换网络环路的产生 3)STP简介 4)STP的工作原理 5)S ...