服务器重启后,找不到数据库和数据

【TiDB 使用环境】生产环境 /测试环境
【TiDB 版本】v7.5.0-linux-amd64
【部署方式】虚拟机部署
【操作系统/CPU 架构/芯片详情】麒麟V10 SP3 海光
【机器部署详情】CPU大小/内存大小/磁盘大小
【集群数据量】
【集群节点数】
【问题复现路径】使用的systemctl start tidb启动
【遇到的问题:问题现象及影响】
重启服务器后,找不到数据库和数据了,这种还有救吗

这是启动的配置文件
[Unit]
Description=TiDB Server
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/home/tidb-offline-workspace/tidb-community-server-v7.5.0-linux-amd64
ExecStart=/home/tidb-offline-workspace/tidb-server -P 4000 -store unistore
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

架构是怎么样的呢

--store unistore 这是 TiDB 的 ** 单机内存模式(Unistore)** 参数

你是集群架构还是单机架构

unistore 是 TiDB 内置的纯内存存储引擎

  • 数据只存在内存里
  • 服务器一重启,内存清空,数据直接消失
  • 这是开发 / 测试临时用的,绝对不能用于生产 / 测试环境持久化

报错日志和具体部署架构是怎样的呢

上日志啊,发配置有啥用?

  • unistore = 内存数据库 = 重启即清空
  • 生产 / 测试环境必须用 --store=tikv

unistore属于内存数据库,类似redis没有固化数据

临时内存模式,重启数据必丢

日志里面有什么信息吗

数据库和数据都找不到,服务能起来吗?

数据找不到,数据库实例可以起来吗?

这个情况需要先做一致性检查,然后才能启动呢吧

首先确认服务是否正确启动,然后检查日志文件

使用-store unistore是单机无持久元数据的内存模式,重启数据丢失无法恢复,需改用 TiKV 集群存储数据。

unistore 是 TiDB 单机内存嵌入式存储,只用于本地测试,不依赖 PD、TiKV;
所有数据默认只存在内存 + 临时本地文件,服务器重启之后数据直接丢失
它没有持久化到 TiKV 集群,重启进程 / 服务器,库表全部消失。

从你的 systemd 配置看到关键问题:ExecStart 用了 -store unistore。unistore 是 TiDB 的内嵌测试存储引擎,数据存在本地临时目录、进程重启或机器重启后数据不持久,这基本就是重启后“找不到数据库和数据”的直接原因——它本来就不是用来存生产数据的。也就是说,这套其实是单机 tidb-server 直接跑 unistore,不是标准的 TiDB 集群(没有独立的 PD + TiKV 持久化存储)。数据是否有救,取决于 unistore 的数据目录是否还在、是否被覆盖:如果之前跑的时候有指定持久化路径且没被清,可能还能捞;但 unistore 默认多为临时性质,重启后大概率已丢。建议:1)先别再启动覆盖,检查原来的工作目录和可能的数据文件是否还在;2)以后生产务必用标准部署——通过 tiup cluster 部署 PD + TiKV + TiDB,数据落在 TiKV 上才持久可靠,不要用 -store unistore 跑生产。这次的数据如果 unistore 目录已无有效文件,恢复希望不大,重点是转成正规集群部署避免再发生。