Implement auto tuning of mysql-server_version
renecannao opened this issue · 0 comments
- A clear description of the issue
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
- ProxySQL version
All till latest release 2.6.2
- OS version
All