如何设置tidb server自启动

【 TiDB 使用环境】生产环境 /测试/ Poc
系统:ubuntu18.04
【 TiDB 版本】
7.5.0
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
我是本地服务器部署了tidb server,我只是想用tidb server数据库,并不需要集群,我该怎么配置才能设置开机自启tidb server数据库

我记得默认就是开机自启动的
tiup cluster enable/disable 来控制是否开机自启

不用集群只有tidb-server用不了吧

那怎么设置集群和tidb serve都自启动呢

上面回复了 tiup cluster enable

tiup cluster enable <cluster-name> -R tidb

tiup cluster enable | PingCAP 文档中心
命令 tiup cluster enable 用于设置集群服务在机器重启后的自启动,该命令会到指定的节点上去执行 systemctl enable <service> 来开启服务的自启。

tidb-server只是一个无状态的节点,数据都存储再tikv上的,单独只使用tikv可以,但是单独只是用tidb-server是不可能的,必须整个集群全部启动才能用tidb-server,所以执行下tiup cluster enable clustername就行了

只用了tidb-server可执行文件拉起的实例?这样用虽然可以,但是bug可能很多,自己测试也建议用tiup 建立一个playground环境,如果你就单tidb-server,那就自己写一个service吧

tiup cluster enable

直接执行tidb-server就可以启动一个实例了 :joy_cat:

tiup cluster enable正解

他都没装tiup怎么用tiup呢,不是说只有一个tidb-server可执行文件吗 :joy_cat:

有装tiup,我的本意是服务器自启的时候能启动tidb-server,tiup是否启动都无所谓了

那就搞个service文件用systemctl管理起来就好了啊

对于首次使用TiDB,想感受或者验证相关的功能特性,建议直接在单机上使用tiup playground 来启动一个TiDB集群。几个命令就可以完成操作,非常方便和快速,要的资源也很少,还能体验集群功能。

具体移步官网:
https://docs.pingcap.com/zh/tidb/stable/quick-start-with-tidb

tiup playground 创建的集群可以设置开机自启吗

tiup playground 就是一个命令,相当于一个命令给你起了一个数据库服务。
如果你想要设置开机自动起来,就设置开机自动执行这个命令。用systemctl自动管理起来就行。

如果想用回以前的数据,即具有持久性,可以搭配 --tag 使用

  • 若希望持久化数据,可以执行 TiUP 的 --tag 参数:tiup --tag <your-tag> playground ...,详情参考 TiUP 参考手册

如果想每次重启,都是一个新的、空的集群,就不用 --tag 参数。

你写一个tidb-4000.service放到/etc/systemd/system/目录下

[Unit]
Description=TiDB Server
After=network.target

[Service] 
Type=simple
User=tidb
Group=tidb
KillMode=control-group
Restart=always
RestartSec=5
StartLimitInterval=0
ExecStart=/home/tidb/.tiup/components/tidb/v7.2.0/tidb-server

[Install]   
WantedBy=multi-user.target

然后执行

sudo systemctl daemon-reload
sudo systemctl enable tidb-4000.service
sudo systemctl start tidb-4000.service 
sudo systemctl status tidb-4000.service 

这样就好了,不过直接执行tidb-server可执行文件,数据应该是放到/tmp下的,而且不知道再执行,还能不能用之前的数据文件,非常不推荐直接这样使用TiDB。

1 个赞

tiup cluster enable

命令 tiup cluster enable 用于设置集群服务在机器重启后的自启动,该命令会到指定的节点上去执行 systemctl enable <service> 来开启服务的自启。
注意
集群全部关机重启时,服务启动的顺序由节点的操作系统启动顺序决定。重启顺序不正确时,在某些情况下,重启后的集群仍然不能提供服务(比如先启动了 TiKV 但未启动 PD,systemd 重启 TiKV 多次仍未找到 PD 则会放弃)。
语法
tiup cluster enable [flags]
https://docs.pingcap.com/zh/tidb/stable/tiup-component-cluster-enable#tiup-cluster-enable

执行 systemctl enable <service> 来开启服务的自启。