WL#6580: Distributed MySQL Privileges hook

Affects: Server-5.7   —   Status: Un-Assigned

Support for storing the MySQL privilege tables in a transactional engine was
added in MySQL Server 5.6. This allowed the MySQL Servers in a MySQL Cluster to
share the same privilegess by altering the privilege tables to NDB.

Next step is to allow replication of the privilege tables to a slave cluster.
Since the binlog for replication may be written by any MySQL Server connected to
the same cluster it's necessary to distribute the queries used to manipulate the
privilege tables to all MySQL Servers in the cluster. How to perform the
distribution is already implemented in MySQL Cluster but a hook is neccessary to
make it possible for a handlerton to plugin and detect when a query modifying
the privilege tables occurs.

The feature is already implemented and released in MySQL Cluster 7.2(based on
5.5) as well as in upcoming MySQL Cluster 7.3(based on 5.6). It was originally
scheduled for MySQL Server 5.6 as part of WL#6004(which described _both_ storing
the privilege tables in a transactional storage engine as well as the hook for
distributing the statements modifying privilege tables). But since semantics was
unclear, it was dropped from there and decision was to write a new WL describing
the semantics.