前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mysqlnd 是什么?

mysqlnd 是什么?

作者头像
用户1560186
发布2020-01-02 16:02:58
2.6K0
发布2020-01-02 16:02:58
举报
文章被收录于专栏:运维录运维录
《复仇者联盟4:终局之战》奇异博士比手势的时候,钢铁侠就知道他的使命了。
什么是 mysqlnd?

mysqlnd (MySQL native driver) MySQL原生驱动,是由 PHP 提供的连接 mysql数据库的驱动程序,用于代替 libmysql驱动程序。

为什么要使用 mysqlnd?

1. 原生支持

libmysq驱动,依赖mysql客户端库(libmysqlclient)。

为了使用 libmysql驱动,需要在编译PHP之前安装好 mysql客户端库并指定其位置。

代码语言:javascript
复制
# 编译 php 使用 libmysql

./configure --prefix=/usr/local/php \
    --with-mysql=/path/to/mysql_config \
    --with-mysqli=/path/mysql_config \
    --with-pdo-mysql=/path/mysql_config \
    # 其它参数省略...
    
make && make install

使用 mysqlnd 则不必安装 mysql 客户端,因为PHP原生支持、直接在编译 php 时使用以下几个项参数即可:

代码语言:javascript
复制
# 编译 php 使用 mysqlnd

./configure --prefix=/usr/local/php \
    --with-config-file-path=/etc/ \
    --enable-mysqlnd \
    --with-mysql=mysqlnd \
    --with-mysqli=mysqlnd \
    --with-pdo-mysql=mysqlnd \
    # 其它参数省略...
    
make && make install

2. 高级功能

mysqlndZend引擎高度集成,因此提供更多高级特性,以及有效利用Zend进行加速。

3. license 版权

libmysqlMySQL AB公司开发的,现在版权属于 Oracle 公司,它使用 MYSQL License发布。mysqlnd 是由 Zend公司开发并使用 PHP License发布的,避免 Oracle 版权问题。

扩展

1. 连接 mysql 数据库的 PHP扩展库:

  • mysql 扩展 (Original MySQL) 在php 7.x版本被移除。
  • mysqli 增强扩展 (MySQL Improved Extension) 。
  • pdo_mysql (pdo for mysql) 从5.4.0开始默认使用 mysqlnd 驱动。

2. PDO 对象

  • PHP 数据对象 (PDO) 扩展,为PHP访问数据库定义了一个轻量级的一致接口。
  • PDO 提供了一个数据访问抽象层,不管使用哪种数据库,都可以用相同的函数(方法)来查询和获取数据。

参考文章:

https://www.php.net/manual/en/set.mysqlinfo.php

小结

  • mysqlnd 库是C语言写成的PHP扩展,从5.3.0开始成为 PHP 的一部分,从5.4.0开始成为默认驱动
  • mysqlnd 与 Zend 引擎集成,加快php程序执行速度,减少内存消耗。
  • mysqlnd 提供了插件机制,例如 mysqlnd_ms mysqlnd 主从复制和负载均衡插件。
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维录 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 《复仇者联盟4:终局之战》奇异博士比手势的时候,钢铁侠就知道他的使命了。
  • 什么是 mysqlnd?
  • 为什么要使用 mysqlnd?
  • 扩展
  • 小结
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档