腾讯云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. 再次用上 ...
随机推荐
- Vue 消除Token过期时刷新页面的重复提示
1.问题现象 页面长时间未操作,再刷新页面时,第一次弹出"token失效,请重新登录!"提示,然后跳转到登录页面,接下来又弹出了n个"Token已过期"的后 ...
- 1.5Java、万维网以及其他
要点提示:Java是一种功能强大和多用途的编程语言,可用于开发运行在移动设备.台式计算机以及服务器端的软件.
- 对象池技术和通用实现GenericObjectPool
对象池技术其实蛮常见的,比如线程池.数据库连接池 他们的特点是:对象创建代价较高.比较消耗资源.比较耗时: 比如 mysql数据库连接建立就要先建立 tcp三次握手.发送用户名/密码.进行身份校验.权 ...
- 在spring boot使用总结(九) 使用yaml语言来写配置文件
yaml是专门用来写配置文件的语言.使用yaml来写配置文件扩展性比较强而且十分方便.spring boot支持使用yaml语言来写配置文件,使用snakeyaml库来读取配置文件.spring bo ...
- MySQL之group by的使用
使用命令:select 字段 from table_name group by col_name; 注意点: 在有group by的查询语句中,select指定的字段要么就包含在group by语句的 ...
- Leetcode No.1 Two Sum(c++哈希表实现)
1. 题目 1.1 英文题目 Given an array of integers nums and an integer target, return indices of the two numb ...
- WPF教程十三:自定义控件进阶可视化状态与自定义Panel
如果你敲了上一篇的代码,经过上一篇各种问题的蹂躏,我相信自定义控件基础部分其实已经了解的七七八八了.那么我们开始进阶,现在这篇讲的才是真正会用到的核心的东西.简化你的代码.给你提供更多的可能,掌握了这 ...
- WPF教程六:理解WPF中的隧道路由和冒泡路由事件
WPF中使用路由事件升级了传统应用开发中的事件,在WPF中使用路由事件能更好的处理事件相关的逻辑,我们从这篇开始整理事件的用法和什么是直接路由,什么是冒泡路由,以及什么是隧道路由. 事件最基本的用法 ...
- 【Azure 环境】Azure通知中心(Notification Hub)使用百度推送平台解说
问题描述 在通知中心的页面中显示支持BaiDu,介绍一下支持的是百度(Baidu)的什么吗?Azure的这个功能在国内使用的时候是否可以保证国内安卓手机的信息送达率? 问题解答 通知中心的页面中的Ba ...
- ti
一.选择题DCBCDCDACAACBBABACBDCBBDA二.简答题(每小题5分,共20分)1. 1)简洁紧凑,灵活方便2)运算符丰富3)数据类型丰富4)C语言是结构化语言5)语法限制较少,程序设计 ...