错误码与故障诊断

本篇文档描述在使用 TiDB 过程中会遇到的问题以及解决方法。

错误码

TiDB 兼容 MySQL 的错误码,在大多数情况下,返回和 MySQL 一样的错误码。另外还有一些特有的错误码:

错误码 说明
8001 请求使用的内存超过TiDB内存使用的阈值限制
8002 带有SELECTFORUPDATE语句的事务,在遇到写入冲突时,为保证一致性无法进行重试,事务将进行回滚并返回该错误
8003 ADMINCHECKTABLE命令在遇到行数据跟索引不一致的时候返回该错误
8004 单个事务过大,原因及解决方法请参考这里
8005 事务在TiDB中遇到了写入冲突,原因及解决方法请参考这里
9001 请求PD超时,请检查PDServer状态/监控/日志以及TiDBServer与PDServer之间的网络
9002 请求TiKV超时,请检查TiKVServer状态/监控/日志以及TiDBServer与TiKVServer之间的网络
9003 TiKV操作繁忙,一般出现在数据库负载比较高时,请检查TiKVServer状态/监控/日志
9004 当数据库上承载的业务存在大量的事务冲突时,会遇到这种错误,请检查业务代码
9005 某个RaftGroup不可用,如副本数目不足,出现在TiKV比较繁忙或者是TiKV节点停机的时候,请检查TiKVServer状态/监控/日志
9006 GCLifeTime间隔时间过短,长事务本应读到的数据可能被清理了,应增加GCLifeTime
9007 事务在TiKV中遇到了写入冲突,原因及解决方法请参考这里

故障诊断

参见故障诊断文档以及 FAQ。

看完两件小事

如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:

  1. 关注我们的 GitHub 博客,让我们成为长期关系
  2. 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
  3. 关注公众号 「方志朋」,公众号后台回复「资源」 免费领取我精心整理的前端进阶资源教程

JS中文网是中国领先的新一代开发者社区和专业的技术媒体,一个帮助开发者成长的社区,目前已经覆盖和服务了超过 300 万开发者,你每天都可以在这里找到技术世界的头条内容。欢迎热爱技术的你一起加入交流与学习,JS中文网的使命是帮助开发者用代码改变世界

results matching ""

    No results matching ""