pymysql.err.InternalError: (9001, 'PD server timeout')

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】6.5.2
【复现路径】写入数据报错误
【遇到的问题:问题现象及影响】
错误1:
pymysql.err.InternalError: (8027, ‘Information schema is out of date: schema failed to update in 1 lease,
please make sure TiDB can connect to TiKV’)

错误2:
pymysql.err.InternalError: (9001, ‘PD server timeout’)

【资源配置】单机部署的tidb

错误1:这个报错表示在执行 DML 语句时,TiDB 在一个 DDL 租约(默认为 45 秒)内未能更新 schema,可能的原因是 TiDB 无法连接到 TiKV。

这个错误可能有以下几个原因:

  • 执行 DML 语句的 TiDB 服务器被“graceful kill”停止并准备退出。包含 DML 语句的事务执行时间超过一个 DDL 租约。当事务提交时报错。
  • 当执行 DML 语句时,TiDB 服务器无法连接到 PD 或 TiKV。因此,TiDB 服务器未能在一个 DDL 租约(默认为 45 秒)内加载新的 schema,或者 TiDB 服务器使用“keep alive”设置与 PD 断开连接。
  • TiKV 负载过高或网络超时。

要解决这个问题,您可以尝试以下解决方案:

  • 对于原因 1,当 TiDB 启动时重试 DML 操作。
  • 对于原因 2,请检查 TiDB 服务器与 PD/TiKV 之间的网络连接。
  • 对于原因 3,请检查 GrafanaTiDBTiKV 中的节点负载。

错误 2:
这个报错表示 TiDB 无法连接到 PD,可能是由于 PD 节点宕机或者网络问题导致的。

要解决这个问题,您可以尝试以下解决方案:

  • 检查 PD 节点是否宕机或者网络是否正常。
  • 检查 TiDB 配置文件中 PD 地址是否正确。
  • 检查 TiDB 集群中的防火墙设置,确保 PD 节点的端口可以被访问。
  • 检查 TiDB 集群中的时钟同步设置,确保各个节点的时钟同步正常。

单机用 tidb ,可能还不如用 mysql

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。