I want to know the different between MySQL Native Driver and MySQL Client Library and when to use both of them

有帮助吗?

解决方案

There is no big difference in the PHP language level.

  • libmysqlclient distributed by MySQL, mysqlnd distributed by PHP.
  • libmysqlclient is part of MySQL, you need install MySQL library.
  • Their license are different.
  • mysqlnd supports a lot of plugins (mysqlnd_ms & mysqlnd_qc & ...).
  • Because mysqlnd is part of PHP, its memory could be limited by PHP configuration.
  • mysqlnd is the default after 5.4

http://php.net/manual/en/mysqlinfo.library.choosing.php

其他提示

mysql:

  • dual licence
  • optional automatic reconnect
  • all memory allocation and deallocation is done using operating system memory management

mysqlnd:

mysqlnd via plugins:

incompatibilities between mysql and mysqlnd:

  • values of bit data type are returned as binary strings with mysql.so and as decimal strings with mysqlnd.so (source).

Based on this and other docs: http://php.net/manual/en/mysqlinfo.library.choosing.php

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top