mysqlnd
(MySQL native driver) MySQL原生驱动,是由 PHP
提供的连接 mysql
数据库的驱动程序,用于代替 libmysql驱动程序。
1. 原生支持
libmysq
驱动,依赖mysql
客户端库(libmysqlclient)。
为了使用 libmysql
驱动,需要在编译PHP
之前安装好 mysql
客户端库并指定其位置。
# 编译 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
时使用以下几个项参数即可:
# 编译 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. 高级功能
mysqlnd
和 Zend
引擎高度集成,因此提供更多高级特性,以及有效利用Zend进行加速。
3. license 版权
libmysql
是 MySQL AB
公司开发的,现在版权属于 Oracle
公司,它使用 MYSQL License发布。mysqlnd
是由 Zend
公司开发并使用 PHP License发布的,避免 Oracle
版权问题。
1. 连接 mysql 数据库的 PHP扩展库:
php 7.x
版本被移除。5.4.0
开始默认使用 mysqlnd 驱动。2. PDO 对象
参考文章:
https://www.php.net/manual/en/set.mysqlinfo.php
5.3.0
开始成为 PHP 的一部分,从5.4.0
开始成为默认驱动。mysqlnd_ms
mysqlnd 主从复制和负载均衡插件。本文分享自微信公众号 - 运维录(gh_70d95b8f5f7c),作者:东南
原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。
原始发表时间:2019-12-30
本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。
我来说两句