如何远程重启 tidb 数据库

在不能登录 tiup 服务器的前提下,有没有办法远程重启 TiDB 。理想的方式是调用 tiup 的 API,但貌似目前找不到相关资料。好奇 TiEM 是如何做的

感觉不管怎么做都要远程到这个节点执行命令
systemctl stop tidb-server-4000
systemctl start tidb-server-4000

前提肯定网络通,本地机器上使用 ssh ansible 可以试下。 其他运维工具应该也没问题。

老兄,你的想法很危险啊。

如果真有这个api,tidb的TLS没配置就不应该能用。
不然是个人都能调,那重启一次可就说不清是谁的锅了。

一般来说,安全就是严格一些,不能直连也是跳板机之类的东西提供给你这个api接口执行一些东西。
同时跳板机承担着身份验证,api权限管理这些。不可能让内网系统自己承担这部分功能。
原因很显然,就是不安全。

外网可以有访问到内网或跳板,应该可以自行开发实现;

网络通吗

TLS 感觉应该是要常开的,如果不开的话,配置被误改了也很头大
说回重启这个,tiup还是可以考虑一下提供带身份验证的白屏功能,如果能把dashboard也集成一下就更完美了

实现不难,操作危险。

网络得通吧。

远程重启与本地重启没有区别呀,你再怎么远程本质还是登录到目标机器执行命令。你想通过API,那也肯定要有一系列鉴权,如果没有鉴权,那这安全问题太大了

:joy:API重启节点,还能这么玩嘛

好好地 tiup 为啥不想用嘞 :thinking:

可以理解为,我要开发一个程序,它不能跑在数据库服务器上,也不能ssh 跳转再执行。但是程序有需要重启数据库

比如 oracle 提供 shutdown/startup 接口

可以通

先考虑下出问题谁背锅。 :joy:

麻烦点就是目前不能 ssh 到目标服务器执行命令

TiDB 提供了 shutdown 接口,能关闭 tidb server,但是由于监听跟 tidb server 是一起的,shutdown 后就起不来了,Oracle 的远程 startup 依赖静态监听吧

说的对,可以理解为什么没有 tiup API 了

是的,想过这个方式,但是 tidb-server 的监听也没办法干预