【 TiDB 使用环境`】测试环境
【 TiDB 版本】 v4.0.15
【遇到的问题】root用户被锁了
【问题现象及影响】
错误日志:
[ERROR] [privileges.go:325] [“try to login a locked account”] [user=root] [host=%]
【 TiDB 使用环境`】测试环境
【 TiDB 版本】 v4.0.15
【遇到的问题】root用户被锁了
【问题现象及影响】
错误日志:
[ERROR] [privileges.go:325] [“try to login a locked account”] [user=root] [host=%]
用mysql之类的客户端root能登录上去不?
先停止tidb
tiup cluster stop <cluster-name>
然后找到 tidb-server 的配置文件,一般默认是在
cd /tidb-deploy/tidb-4000/conf
vi tidb.toml
添加如下security
[security]
skip-grant-table = true
然后找到 tidb-server 的启动文件,具体在 deploy 目录下的script/run_tidb.sh,一般是
/tidb-deploy/tidb-4000/scripts
由于 tidb 限制了 skip 模式只能在操作系统 root 用户启动 tidb-server 才可以进行,所以要用 root 用户来执行上面的脚本
sudo sh run_tidb.sh
此时再次登录 tidb,就会发现不需要输入 root 密码了.
mysql -h 127.0.0.1 -P 4000 -u root
登录之后
SET PASSWORD FOR 'root'@'%' = 'xxx';
#或者
ALTER USER 'test'@'localhost' IDENTIFIED BY 'mypass';
重置成功之后记得恢复配置文件及启动脚本即可。
tiup cluster start <cluster-name>
和mysql一样的套路,改user表,再启动
是的,服务端就报刚才说的那个错误日志
是不是业务代码里用的root,确实死锁了?可以看下tidb的log
还有除root之外的超级账号吗,解锁试试
没有了。
我们这个测试环境是on k8s部署的
改系统表吧。
先改配置,跳过root密码验证,在登录后修改密码,然后在改回去配置
通过超级管理员,登录后台,进行解锁『对我有用』
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。