背景介绍
目前本地的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.sh
用 root 用户
临时启动
这里也是和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、最终登录验证
这个时候需要密码,使用新配置密码即可登录
网友评论