Getting started building a mysqlnd plugin
Introduction
MySQL
PHP Manual

# Mysqlnd replication and load balancing plugin

Table of Contents

- Introduction
- Quickstart and Examples
  - Setup
  - Running statements
  - Connection state
  - SQL Hints
  - Transactions
  - Service level and consistency
  - Global transaction IDs
  - Cache integration
  - Failover
  - Partitioning and Sharding
- Concepts
  - Architecture
  - Connection pooling and switching
  - Transaction handling
  - Error handling
  - Transient errors
  - Failover
  - Load balancing
  - Read-write splitting
  - Filter
  - Service level and consistency
  - Global transaction IDs
  - Cache integration
  - Supported clusters
- Installing/Configuring
  - Requirements
  - Installation
  - Runtime Configuration
  - Plugin configuration file (>=1.1.x)
  - Plugin configuration file (<= 1.0.x)
  - Testing
  - Debugging and Tracing
  - Monitoring
- Predefined Constants
- Mysqlnd_ms Functions
  - mysqlnd_ms_get_last_gtid — Returns the latest global transaction ID
  - mysqlnd_ms_get_last_used_connection — Returns an array which describes the last used connection
  - mysqlnd_ms_get_stats — Returns query distribution and connection statistics
  - mysqlnd_ms_match_wild — Finds whether a table name matches a wildcard pattern or not
  - mysqlnd_ms_query_is_select — Find whether to send the query to the master, the slave or the last used MySQL server
  - mysqlnd_ms_set_qos — Sets the quality of service needed from the cluster
  - mysqlnd_ms_set_user_pick_server — Sets a callback for user-defined read/write splitting
- Change History
  - PECL/mysqlnd_ms 1.6 series
  - PECL/mysqlnd_ms 1.5 series
  - PECL/mysqlnd_ms 1.4 series
  - PECL/mysqlnd_ms 1.3 series
  - PECL/mysqlnd_ms 1.2 series
  - PECL/mysqlnd_ms 1.1 series
  - PECL/mysqlnd_ms 1.0 series