重置root密码
- 找出不是owner的tidb服务器
使用命令:curl http://172.16.5.89:10680/info
ip: tidb-server ip地址
port: tidb_status_port 端口
找出is_owner:false的服务器.
- 停止此服务器上的tidb-server服务
使用tidb用户, 找到<dir_deploy>/scripts目录,执行命令./stop_tidb.sh
[tidb@test2 scripts]$ ./stop_tidb.sh
使用ps命令确认tidb-server进程已经停止
[tidb@test2 scripts]$ ps -ef | grep tidb-server
3.登录这台非owenr的服务器, 找到<dir_deploy>/conf目录,编辑tidb.toml文件
找到 [security] 标签,添加 skip-grant-table = true
- 使用root用户执行
切换到<dir_deploy>/scripts目录,执行命令
./run_tidb.sh
此时进程会在后台进行
- 复制一个新的session,确保tidb-server 已经启动
[tidb@test2 ~]$ ps -ef | grep tidb-server
root 190770 169530 1 15:46 pts/1 00:00:01 bin/tidb-server -P 4060 --status=10680 --advertise-address=172.16.5.84 --path=172.16.5.89:2679,172.16.5.84:2679,172.16.5.90:2679 --config=conf/tidb.toml --enable-binlog --log-slow-query=/data2/ryl/deploy/log/tidb_slow_query.log --log-file=/data2/ryl/deploy/log/tidb.log
- 在这个新的session上面,使用无密码登录root用户
mysql -uroot -h172.16.5.84 -P4060
注意:端口使用自己配置的tidb_port
- set password for命令为root用户重置密码
举例:root密码修改为12345
mysql> set password for root = ‘12345’;
Query OK, 0 rows affected (0.01 sec)
-
停止在前台启动的session上的进程,关闭tidb-server服务,ctrl+c关闭进程
-
登录这台非owenr的服务器, 找到<dir_deploy>/conf目录,编辑tidb.toml文件
找到 [security] 标签,删除 skip-grant-table = true
- 使用tidb用户
切换到<dir_deploy>/scripts目录,执行命令./start_tidb.sh
[tidb@test2 ~]$ cd /data2/ryl/deploy/scripts/
[tidb@test2 scripts]$ ./start_tidb.sh
- 验证使用新密码可以登录此服务器
检查进程存在
ps -ef | grep tidb-server
检查新密码可以登录