TiDB 忘记root密码

背景介绍

目前本地的Tidb集群是通过 tiup 命令进行部署的。

具体用法参考 使用 TiUP 部署 TiDB 集群

大致的步骤有

  • 安装 tiup

  • 利用 tiup 安装 cluster 组件

  • 生产集群 模板 tiup cluster template > topology-xxx.yaml

  • 修改模板,配置我们需要的组件。比如 tidb-server/tidb-pd/tidb-tikv/tidb-cdc 等等

  • tiup 检查集群模板有效性 tiup cluster check ./topology-xxx.yaml

  • 集群部署

tiup cluster deploy tidb-cluster-name v6.1.0 ./topology-xxx.yaml --user root [-p] [-i /home/root/.ssh/gcp_rsa]
  • 查看安装的集群列表
tiup list
  • 查看 具体的集群情况
tiup cluster display tidb-cluster-name
  • 启动集群
tiup cluster start tidb-cluster-name [--init]
  • 最终再查看集群状态
tiup cluster display tidb-cluster-name

扩展

利用tiup安装集群之后,tiup 是可以管理(stop/start等)集群的。但是这个管理 是针对整个集群而言的。不能只是管理集群中的某个组件,比如 tidb-pd

在每个组件主机节点上。tiup 会自动配置 systemctl 管理的相关 service,比如 tidb-server 节点,会自动配置 tidb-4000.service

这样如果我们只是相对 tidb-server做一些变更,然后启动、停止的时候就可以直接使用 systemctl stop/start tidb-4000.service

忘记root密码操作

核心其实和MySQL一样,都是需要通过配置 skip-grant-table = true 来跳过密码认证来登录,成功之后修改密码,进行权限刷新。在回滚和重启即可。

步骤

1、登录 tidb-server 节点,修改 tidb-deploy/conf/tidb.toml 添加如下配置

[security]
skip-grant-table = true

2、使用 systemctl 停止 tidb-4000.service

# 因为修改了配置,所以需要先reload
systemctl daemon-reload
# 先停止,注意不是直接重启哦 (这里直接重启会失败)
systemctl stop tidb-4000.service

3、需要手动使用 run_tidb.shroot 用户 临时启动

这里也是和MySQL不一定的地方所在, tiup安装集群之后,各个组件都是使用tidb 这个用户启动的。

root启动tidb-server

bash tidb-deploy/scripts/run_tidb.sh

4、登录tidb-server进行密码修改并刷新权限

# 登录
# mysql -h xxxx -u root -P 4000 -p

# 修改密码
use mysql;
set password root@'%' = password('new-password-here');

# 刷新权限
flush privileges;

5、修改 tidb-deploy/conf/tidb.toml 进行配置回滚

6、停止 run_tidb.sh 脚本

7、使用 systemctl 启动 tidb-4000.service

# 因为修改了配置,所以需要先reload
systemctl daemon-reload
# 启动服务
systemctl start tidb-4000.service

8、最终登录验证

这个时候需要密码,使用新配置密码即可登录


如果觉得文章对你有所帮忙,欢迎点赞收藏,或者可以关注个人公众号 全栈运维

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值