Thursday, July 31, 2014

Secrets of mysqlnd Presentation

At the recent New York PHP Group in New York, I gave a presentation on “Secrets of mysqlnd”. While there are no real “secrets” of the new MySQL Native Driver for PHP, available in PHP 5.3, and the default for PHP 5.4+ replacing libmysqlclient, there are new features of the driver many are unaware of. If you have ever had to fight the gods with compiling a particular version of PHP with the right libmysqlclient dependency, the good news is that legacy requirement is no longer necessary.

Some of the topics discussed in detail included support for read/write splitting and load balancing with existing applications, and the implications for consistency with MySQL replication. Mysqlnd can also provide failover capabilities, and when combined with using MySQL cluster, Tungsten Replicator and HA manages including MMM and MHA, a more smoother application management of failover in the future may be possible with applicable design.

Mysqlnd also provides a number of other plugin extensions which shows the potential of this new driver for the future. There is still a lot of work to be done, particularly with getting distros and package management to support all capabilities for ease of installation and management.