Third-Party Tools Supported by TiDB

TiDB is highly compatible with the MySQL protocol, so most of the MySQL drivers, ORM frameworks, and other tools that adapt to MySQL are compatible with TiDB. This document focuses on these tools and their support levels for TiDB.

Support Level

PingCAP works with the community and provides the following support levels for third-party tools:

  • Full: Indicates that TiDB is already compatible with most functionalities of the corresponding third-party tool, and maintains compatibility with its newer versions. PingCAP will periodically conduct compatibility tests with the latest version of the tool.
  • Compatible: Indicates that because the corresponding third-party tool is adapted to MySQL and TiDB is highly compatible with the MySQL protocol, so TiDB can use most features of the tool. However, PingCAP has not completed a full test on all features of the tool, which might lead to some unexpected behaviors.

If you encounter problems when connecting to TiDB using the tools listed in this document, please submit an issue on GitHub with details to promote support on this tool.

Driver

LanguageDriverLatest tested versionSupport levelTiDB adapterTutorial
Clibmysqlclient8.0CompatibleN/AN/A
C#(.Net)MySQL Connector/NET8.0CompatibleN/AN/A
ODBCMySQL Connector/ODBC8.0CompatibleN/AN/A
Gogo-sql-driver/mysqlv1.6.0FullN/ABuild a Simple CRUD App with TiDB and Golang
JavaJDBC8.0FullBuild a Simple CRUD App with TiDB and Java
JavaScriptmysqlv2.18.1CompatibleN/AN/A
PHPmysqlndPHP 5.4+CompatibleN/AN/A
Pythonmysql-connector-python8.0CompatibleN/ABuild a Simple CRUD App with TiDB and Python
mysqlclient2.1.1CompatibleN/ABuild a Simple CRUD App with TiDB and Python
PyMySQL1.0.2CompatibleN/ABuild a Simple CRUD App with TiDB and Python

ORM

LanguageORM frameworkLatest tested versionSupport levelTiDB adapterTutorial
Gogormv1.23.5FullN/ABuild a Simple CRUD App with TiDB and Golang
beegov2.0.3FullN/AN/A
upper/dbv4.5.2FullN/AN/A
xormv1.3.1FullN/AN/A
entv0.11.0CompatibleN/AN/A
JavaHibernate6.1.0.FinalFullN/ABuild a Simple CRUD App with TiDB and Java
MyBatisv3.5.10FullN/ABuild a Simple CRUD App with TiDB and MyBatis
Spring Data JPA2.7.2FullN/ABuild a Simple CRUD App with TiDB and Spring Boot
jOOQv3.16.7 (Open Source)FullN/AN/A
RubyActive Recordv7.0FullN/AN/A
JavaScript / TypeScriptsequelizev6.20.1FullN/AN/A
Knex.jsv1.0.7CompatibleN/AN/A
Prisma Client4.16.2FullN/AN/A
TypeORMv0.3.6CompatibleN/AN/A
PHPlaravelv9.1.10Compatiblelaravel-tidbN/A
PythonDjangov4.1Fulldjango-tidbN/A
peeweev3.14.10CompatibleN/ABuild a Simple CRUD App with TiDB and Python
SQLAlchemyv1.4.37CompatibleN/ABuild a Simple CRUD App with TiDB and Python

GUI

GUILatest tested versionSupport levelTutorial
DBeaver22.1.0CompatibleN/A
Navicat for MySQL16.0.14CompatibleN/A
MySQL Workbench8.0CompatibleN/A
IDEPluginSupport levelTutorial
DataGripN/ACompatibleN/A
IntelliJ IDEAN/ACompatibleN/A
Visual Studio CodeTiDECompatibleN/A
MySQLCompatibleN/A