MYSQLV1

【MySQL学生手册】MySQL客户端接口

本文地址:http://t.dbdao.com/archives/mysql-client-api.html

dbDao 百度贴吧:http://tieba.baidu.com/dbdao

Mysql技术学习QQ群:146959374

 

章节概述

本章将介绍MySQL所使用的客户端客户端接口。在章节中,你将了解:

  • MySQL所提供的客户端接口程序
  • 在客户端接口进行区分并选择所需的接口
  • 在MySQL网站上下载MySQL客户端接口程序
  • MySQL和第三方客户端接口之间的关系

 

5.1 MySQL连接器

MySQL提供了多种应用编程接口(API)来用于访问MySQL服务器。一些API被用于程序中,而另一些则是简单的驱动器。

 

MySQL提供了几种驱动器来扮演使用特定协议的客户端程序和MySQL服务端之间的桥梁作用。这些驱动器组成了整个MySQL连接器家族。它们可分别作为单独的程序包来使用。

 

MySQL连接器可用于Windows和Unix平台。如果需要使用一个连接器,你必须将其安装在客户端主机上。服务端则不需要一定和客户端在同一台主机上,且所在的操作系统平台也可以完全不同。换句话说,MySQL连接器可以在各种各样不同的环境中为MySQL连接提供帮助。如,使用运行于Windows操作系统上的客户端应用可以访问运行于Linux服务器主机上的MySQL数据库。【dbdao.com 数据岛】

由MySQL官方支持的这些API连接器有以下连接类型:

  • 本地”C”
  • C/C++
  • ODBC
  • JDBC
  • .Net
  • Python

更多MySQL连接器下载,可以访问MySQL网站:

http://www.mysql.com/products/connector/

 

5.2 第三方API

除了由官方支持的API之外,也有许多第三方客户端接口可供使用。它们大多是基于C客户端库文件进行的开发并对其它编程语言进行绑定支持。这些包含有mysql和mysqli扩展的API有PHP, Perl DBI (DBD::mysql), Tcl, Eiffel, Ruby, Pascal等。你可以访问MySQL社区页来查找相关信息。

 

尽管MySQL开发团队始终保持和产品开发者的紧密联系,但是第三方API并不直接受到来自MySQL官方团队支持。如果你在项目中遇到和这些API有关的问题,你应该联系其开发者以判断是否能在未来获得相应支持。

 

注意:在进行迁移项目时对API最大的考虑点是保证通过API发往服务端的请求信息格式与当前MySQL服务端所使用的版本相匹配。【dbdao.com 数据岛】

 

5.3 MySQL插件式接口

从MySQL 5.1版本开始,MySQL支持插件式应用程序接口(plugin API),来允许在MySQL运行时作为服务组件热插拔,无需重启数据库。其中,插件API就支持全文解析器(full-text parser)插件的建立。这种插件可被用于替换或增强原内置的全文解析器。例如,插件可以将一段文本按不同于原内置解析器的规则进行单词解析。这将对于那些希望利用某些不同于内置解析器特性的文本解析非常有用。它同样支持将存储引擎以插件的形式进行安装。

 

插件接口的特性更优于过去所使用的用户定义功能(user-defined function: UDF)接口。这种插件式接口将最终包含建立UDF的API,并试图使得插件式UDF API来特带旧有非插件式UDF API。在这之后,使用插件式UDF能更好得利用到插件API的安全和版本控制能力所带来的好处。最终,旧有UDF将不再被支持。

 

插件式接口要求在mysql数据库下有plugin表。此表会在MySQL安装过程中被建立。

 

注意:如果你正从MySQL 5.1之前的版本进行升级,你应该运行mysql_upgrade命令来建立此表。请仔细阅读相关命令信息以了解细节。

by 汪伟华,dbdao.com 数据岛

dbDao.com 引导式IT在线教育

dbDao 百度贴吧:http://tieba.baidu.com/dbdao

扫码关注dbDao 微信公众号:

One thought on “【MySQL学生手册】MySQL客户端接口

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">