当前位置:  编程语言>php

php中内置的mysql数据库连接驱动mysqlnd简介及mysqlnd的配置安装方式

 
分享到:
    发布时间:2014-7-30  


    本文导语:  php中内置的mysql数据库连接驱动mysqlnd简介 mysqlnd(MySQL Native Driver)是老版本中php的mysql连接库libmysqlclient( MySQL Client Library)的一个新的替代。mysqlnd从PHP 5.3.0开始就内置在官方发布的php源码包中。 The MySQL datab...

  php中内置的mysql数据库连接驱动mysqlnd简介

   mysqlnd(MySQL Native Driver)是老版本中php的mysql连接库libmysqlclient( MySQL Client Library)的一个新的替代。mysqlnd从PHP 5.3.0开始就内置在官方发布的php源码包中。

   the mysql database extensions mysql extension, mysqli and pdo mysql all communicate with the mysql server. in the past, this was done by the extension using the services provided by the mysql client library. the extensions were compiled against the mysql client library in order to use its client-server protocol

    With MySQL Native Driver there is now an alternative, as the MySQL database extensions can be compiled to use MySQL Native Driver instead of the MySQL Client Library. 

   MySQL Native Driver is written in C as a PHP extension. 


为什么要使用mysqlnd来替代原来的libmysql?主要原因有以下几个:

1. license问题

   libmysql是MYSQL AB公司开发的,现在已经是Oracle集团所属的了,它使用MYSQL license发布。

This ultimately led to MySQL support being disabled by default in PHP,

mysqlnd 是php的一部分,使用PHP license发布。

从此 license 的问题就算是解决了。

2.编译问题

   使用libmysql的时候,如果要正常编译php,必须首先安装好mysql。如果是单纯的一台WEB服务器,完全没必要装mysql。

mysqlnd的话,就不必安装mysql,直接可用。

3.性能问题

   由于mysqlnd是一个php扩展,使用了php memory management system,在内存使用方面效率相当高。

   举个例子:

使用libmysql的时候,mysql结果集中的每一行都在内存中储存了二次。

使用mysqlnd,结果集只会储存一次。

而且它还服从于php.ini中memory_limit的设置。


php中内置的mysql数据库连接驱动mysqlnd的新特性

1 改进的persistent connection

2 特殊函数 mysqli_fetch_all(),只有安装了mysqlnd, mysqli中的这个函数才可用。

3 Performance statistics calls: mysqli_get_cache_stats(), mysqli_get_client_stats(), mysqli_get_connection_stats().

分析性能瓶颈的时候,这些函数还是蛮好用的。

4 使用mysqlnd之后,mysqli也支持persistent connection了。这样看起来,mysqli受益最多。

5 PHP 5.3.3 之后,mysqlnd支持SSL

6 PHP 5.3.2 之后,mysqlnd支持Compressed Protocol

7 PHP 5.3.4 之后,windows系统中的mysqlnd支持Named Pipes



mysqlnd的配置安装方式,配置php的选项时加上以下附加项:


./configure --with-mysql=mysqlnd

--with-mysqli=mysqlnd

--with-pdo-mysql=mysqlnd

[other options]


然后make,make install即可完成。


相关文章推荐:
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • PHP配置文件应用(配置pdo与虚拟主机)
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • 图解找出PHP配置文件php.ini的路径的方法
  • Windows下php 5.3.5和apache2安装配置及测试
  • PHP+FastCGI+Nginx配置PHP运行环境
  • nginx服务器下通过fastcgi支持php5详细安装配置步骤
  • windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
  • Apache HTTP Server(httpd)下载安装以及如何配置java(tomcat)和php详细介绍
  • 关于linux下 apache+php的配置问题
  • Linux Apache+PHP+MySQL的配置问题??
  • 查找php配置文件php.ini所在路径的二种方法
  • phpmyadmin提示 缺少mcrypt扩展,请检查php配置
  • linux+php+mysql+apache怎么配置
  • Linux下如何安装和配置php?
  • php for linux安装既不支持mysql.如何配置支持mysql
  • php去掉URL网址中带有PHPSESSID的配置方法
  • php5 pdo的配置与使用方法
  • linux 中phpmyadmin 无法载入mysql扩展,请检查php配置文档
  • linux下配置PHP 编译的时候出现错误
  • 关于php的配置(急)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2017,169IT.COM,E-mail:www_169it_com#163.com(请将#改为@)

    浙ICP备11055608号