title | summary |
---|---|
Third-Party Tools Supported by TiDB |
Learn about third-party tools supported by TiDB. |
Note:
This document only lists common third-party tools supported by TiDB. Some other third-party tools are not listed, not because they are not supported, but because PingCAP is not sure whether they use features that are incompatible with 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.
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.
Note:
Unless specified, support for Application retry and error handling is not included for Driver or ORM frameworks.
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.
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 | pingcap/mysql-connector-j pingcap/tidb-loadbalance |
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 | N/A |
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 |
Go | beego | v2.0.3 | Full | N/A | N/A |
Go | upper/db | v4.5.2 | Full | N/A | N/A |
Go | xorm | v1.3.1 | Full | N/A | N/A |
Go | 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 |
Java | MyBatis | v3.5.10 | Full | N/A | Build a Simple CRUD App with TiDB and Java |
Java | Spring Data JPA | 2.7.2 | Full | N/A | Build a TiDB Application Using Spring Boot |
Java | 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 | Compatible | N/A | N/A |
JavaScript/TypeScript | Knex.js | v1.0.7 | Compatible | N/A | N/A |
JavaScript/TypeScript | Prisma Client | 3.15.1 | Compatible | N/A | N/A |
JavaScript/TypeScript | TypeORM | v0.3.6 | Compatible | N/A | N/A |
PHP | laravel | v9.1.10 | Compatible | laravel-tidb | N/A |
Python | Django | v4.0.5 | Compatible | django-tidb | N/A |
Python | peewee | v3.14.10 | Compatible | N/A | N/A |
Python | PonyORM | v0.7.16 | Compatible | N/A | N/A |
Python | SQLAlchemy | v1.4.37 | Compatible | N/A | N/A |
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 |
Visual Studio Code | MySQL | Compatible | N/A |