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
Language | Driver | Latest tested version | Support level | TiDB adapter | Tutorial |
---|---|---|---|---|---|
C | libmysqlclient | 8.0 | Compatible | N/A | N/A |
C#(.Net) | MySQL Connector/NET | 8.0 | Compatible | N/A | N/A |
ODBC | MySQL Connector/ODBC | 8.0 | Compatible | N/A | N/A |
Go | go-sql-driver/mysql | v1.6.0 | Full | N/A | Build a Simple CRUD App with TiDB and Golang |
Java | JDBC | 8.0 | Full | Build a Simple CRUD App with TiDB and Java | |
JavaScript | mysql | v2.18.1 | Compatible | N/A | N/A |
PHP | mysqlnd | PHP 5.4+ | Compatible | N/A | N/A |
Python | mysql-connector-python | 8.0 | Compatible | N/A | Build a Simple CRUD App with TiDB and Python |
mysqlclient | 2.1.1 | Compatible | N/A | Build a Simple CRUD App with TiDB and Python | |
PyMySQL | 1.0.2 | Compatible | N/A | Build a Simple CRUD App with TiDB and Python |
ORM
Language | ORM framework | Latest tested version | Support level | TiDB adapter | Tutorial |
---|---|---|---|---|---|
Go | gorm | v1.23.5 | Full | N/A | Build a Simple CRUD App with TiDB and Golang |
beego | v2.0.3 | Full | N/A | N/A | |
upper/db | v4.5.2 | Full | N/A | N/A | |
xorm | v1.3.1 | Full | N/A | N/A | |
ent | v0.11.0 | Compatible | N/A | N/A | |
Java | Hibernate | 6.1.0.Final | Full | N/A | Build a Simple CRUD App with TiDB and Java |
MyBatis | v3.5.10 | Full | N/A | Build a Simple CRUD App with TiDB and MyBatis | |
Spring Data JPA | 2.7.2 | Full | N/A | Build a Simple CRUD App with TiDB and Spring Boot | |
jOOQ | v3.16.7 (Open Source) | Full | N/A | N/A | |
Ruby | Active Record | v7.0 | Full | N/A | N/A |
JavaScript / TypeScript | sequelize | v6.20.1 | Full | N/A | N/A |
Knex.js | v1.0.7 | Compatible | N/A | N/A | |
Prisma Client | 4.16.2 | Full | N/A | N/A | |
TypeORM | v0.3.6 | Compatible | N/A | N/A | |
PHP | laravel | v9.1.10 | Compatible | laravel-tidb | N/A |
Python | Django | v4.1 | Full | django-tidb | N/A |
peewee | v3.14.10 | Compatible | N/A | Build a Simple CRUD App with TiDB and Python | |
SQLAlchemy | v1.4.37 | Compatible | N/A | Build a Simple CRUD App with TiDB and Python |
GUI
GUI | Latest tested version | Support level | Tutorial |
---|---|---|---|
DBeaver | 22.1.0 | Compatible | N/A |
Navicat for MySQL | 16.0.14 | Compatible | N/A |
MySQL Workbench | 8.0 | Compatible | N/A |
IDE | Plugin | Support level | Tutorial |
---|---|---|---|
DataGrip | N/A | Compatible | N/A |
IntelliJ IDEA | N/A | Compatible | N/A |
Visual Studio Code | TiDE | Compatible | N/A |
MySQL | Compatible | N/A |