As part of MySQL protocol, the server advertises its version during the initial packet handshake.
In ProxySQL this is controlled by mysql-server_version , and if this is not configured correctly it can create a lot of misbehaviors in several application drivers.
This is still a source of confusion as many users are not aware of this variable.
When ProxySQL is executed in bootstrap mode against a Group Replication / InnoDB Cluster , mysql-server_version is configured automatically.
We can implement an even more generic feature:
when Monitor performs ping/connect check, record the version advertised by the backend servers
if all the backend servers run the same version, automatically update mysql-server_version to match it
the above behavior must be controlled by a new global variable. Multiple values are possible. For example:
0 : feature disabled
1 : update mysql-server_version if all the backends have the same version
2 : update mysql-server_version if the majority (+50%) of the backends have the same version
Because servers can be added and removed at all time, proxysql should re-evaluate mysql-server_version at intervals multiple of mysql-monitor_connect_interval
As part of MySQL protocol, the server advertises its version during the initial packet handshake. In ProxySQL this is controlled by mysql-server_version , and if this is not configured correctly it can create a lot of misbehaviors in several application drivers. This is still a source of confusion as many users are not aware of this variable.
When ProxySQL is executed in bootstrap mode against a Group Replication / InnoDB Cluster ,
mysql-server_version
is configured automatically.We can implement an even more generic feature:
mysql-server_version
to match itmysql-server_version
if all the backends have the same versionmysql-server_version
if the majority (+50%) of the backends have the same versionBecause servers can be added and removed at all time, proxysql should re-evaluate
mysql-server_version
at intervals multiple ofmysql-monitor_connect_interval
All till latest release 2.6.2
All