连接器和 API

数据库连接器为客户端提供了连接数据库服务端的方式,APIs 提供了使用 MySQL 协议和资源的底层接口。无论是连接器还是 API,都可以用来在不同的语言和环境内连接服务器并执行 sql 语句,包括 odbc、java(jdbc)、Perl、Python、PHP、Ruby 和 C。

TiDB 兼容 MySQL(5.6、5.7) 的所有连接器和 API,包括:

使用 MySQL 连接器连接 TiDB

Oracle 官方提供了以下 API,TiDB 可以兼容所有这些 API。

使用 MySQL C API 连接 TiDB

如果使用 C 语言程序直接连接 TiDB,可以直接链接 libmysqlclient 库,使用 MySQL 的 C API,这是最主要的一种 C 语言连接方式,被各种客户端和 API 广泛使用,包括 Connector/C。

使用 MySQL 第三方 API 连接 TiDB

第三方 API 非 Oracle 官方提供,下表列出了常用的第三方 API:

Environment API Type Notes
Ada GNUAdaMySQLBindings libmysqlclient SeeMySQLBindingsforGNUAda
C CAPI libmysqlclient SeeSection27.8,“MySQLCAPI”.
C Connector/C Replacementforlibmysqlclient SeeMySQLConnector/CDeveloperGuide.
C++ Connector/C++ libmysqlclient SeeMySQLConnector/C++DeveloperGuide.
MySQL++ libmysqlclient SeeMySQL++Website.
MySQLwrapped libmysqlclient SeeMySQLwrapped.
Go go-sql-driver NativeDriver SeeMysqlGoAPI
Cocoa MySQL-Cocoa libmysqlclient CompatiblewiththeObjective-CCocoaenvironment.Seehttp://mysql-cocoa.sourceforge.net/
D MySQLforD libmysqlclient SeeMySQLforD.
Eiffel EiffelMySQL libmysqlclient SeeSection27.14,“MySQLEiffelWrapper”.
Erlang erlang-mysql-driver libmysqlclient Seeerlang-mysql-driver.
Haskell HaskellMySQLBindings NativeDriver SeeBrianO’Sullivan’spureHaskellMySQLbindings.
hsql-mysql libmysqlclient SeeMySQLdriverforHaskell.
Java/JDBC Connector/J NativeDriver SeeMySQLConnector/J5.1DeveloperGuide.
Kaya MyDB libmysqlclient SeeMyDB.
Lua LuaSQL libmysqlclient SeeLuaSQL.
.NET/Mono Connector/Net NativeDriver SeeMySQLConnector/NetDeveloperGuide.
ObjectiveCaml OBjectiveCamlMySQLBindings libmysqlclient SeeMySQLBindingsforObjectiveCaml.
Octave DatabasebindingsforGNUOctave libmysqlclient SeeDatabasebindingsforGNUOctave.
ODBC Connector/ODBC libmysqlclient SeeMySQLConnector/ODBCDeveloperGuide.
Perl DBI/DBD::mysql libmysqlclient SeeSection27.10,“MySQLPerlAPI”.
Net::MySQL NativeDriver SeeNet::MySQLatCPAN
PHP mysql,ext/mysqlinterface(deprecated) libmysqlclient SeeOriginalMySQLAPI.
mysqli,ext/mysqliinterface libmysqlclient SeeMySQLImprovedExtension.
PDO_MYSQL libmysqlclient SeeMySQLFunctions(PDO_MYSQL).
PDOmysqlnd NativeDriver
Python Connector/Python NativeDriver SeeMySQLConnector/PythonDeveloperGuide.
Python Connector/PythonCExtension libmysqlclient SeeMySQLConnector/PythonDeveloperGuide.
MySQLdb libmysqlclient SeeSection27.11,“MySQLPythonAPI”.
Ruby MySQL/Ruby libmysqlclient Useslibmysqlclient.SeeSection27.12.1,“TheMySQL/RubyAPI”.
Ruby/MySQL NativeDriver SeeSection27.12.2,“TheRuby/MySQLAPI”.
Scheme Myscsh libmysqlclient SeeMyscsh.
SPL sql_mysql libmysqlclient Seesql_mysqlforSPL.
Tcl MySQLtcl libmysqlclient SeeSection27.13,“MySQLTclAPI”.

TiDB 支持的连接器版本

Connector Connectorversion
Connector/C 6.1.0GA
Connector/C++ 1.0.5GA
Connector/J 5.1.8
Connector/Net 6.9.9GA
Connector/Net 6.8.8GA
Connector/ODBC 5.1
Connector/ODBC 3.51(Unicodenotsupported)
Connector/Python 2.0
Connector/Python 1.2

看完两件小事

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

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

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

results matching ""

    No results matching ""