@pondix pondix released this Jan 26, 2019

ProxySQL 2.0.1 release date: 2019-01-25

Compared to v1.4, ProxySQL 2.0 introduces the following new features, bugs fixes and enhancements

Dependencies

New dependencies are added to ProxySQL, all statically linked:

  • libev
  • openssl
  • google-coredumper

Upgraded dependencies:

  • MariaDB Connector C baseline upgraded to 3.0.2
  • jemalloc upgraded to 4.5.1
  • SQLite upgraded to 3.19.2
  • libconfig upgraded to 1.7.2

Operating System changes

  • Support for RHEL / CentOS 5, Debian7 and Ubuntu 12 has been discontinued
  • ProxySQL now runs under the proxysql user, the /var/lib/proxysql directory and contents now belong to this user / group
  • Support for systemd has been introduced for Debian 9 and Ubuntu 18

mysql_replication_hostgroups

mysql_replication_hostgroups extended with a field check_type that accepts one of these 3 values: read_only,innodb_read_only andsuper_read_only.

This allows replication hostgroups to work with Aurora and setups where super_read_only is used.

Implemented causal reads using GTID

Schema changes:

  • mysql_servers table was extended with a new column gtid_port : it specifies from which port GTIDs will be read
  • added column comment in mysql_users table
  • added new table stats.stats_mysql_gtid_executed that exports GTID statistics
  • mysql_query_rules table was extended with a new column gtid_from_hostgroup to specify to which writer hostgroup the read should be consistent with
  • stats_mysql_query_digest was extended with a new column client_address. If new global variable mysql-query_digests_track_hostname is enabled, client_address tracks the address of the client sending the request.
  • added new variable mysql-binlog_reader_connect_retry_msec to specify how often to retry to reconnect to binlog reader
  • added new stats table mysql_errors that collects statistics about queries and connections errors
  • added new table mysql_galera_hostgroups for native Galera support

Implemented SSL for frontend connections

  • Clients can now connect to ProxySQL using SSL.
  • Field mysql_users.use_ssl is now enforced, and users with use_ssl enabled must use SSL, a blog post will follow with further details.

New Admin commands

  • PROXYSQL COREDUMP : allows to generate a coredump
  • PROXYSQL FLUSH QUERY CACHE : flushes the query cache

Native support for Galera Cluster

  • ProxySQL 2.0 natively supports Galera Cluster with an extended configuration including multi-master and backup writer support, a blog post will follow with further details.

Security enhancements

  • When possible, use RAND_bytes() to generate scrambles

Memory optimizations

  • automatic VACUUM of stats schema
  • if the new global variable mysql-query_digests_normalize_digest_text is enabled, queries statistics store digest_text on a different hash table. This drastically reduce memory usage on setups with many schemas but similar queries patterns

Performance improvements

  • improved the performance of MySQL_Thread::refresh_variables()
  • several optimizations in the code that generate a variety of stats tables
  • multiple improvements in the Monitor module
  • traffic handled when fast_forward=1 is now considerably faster

LDAP

  • added support for LDAP, a blog post will follow with further details.

Query cache

  • updating mysql_query_rules.cache_ttl purges cache entries
  • added column mysql_query_rules.cache_empty_result : if disabled, empty resultsets won't be cached
  • added new command PROXYSQL FLUSH QUERY CACHE

Protocol

  • added support for autocommit=(true|false|on|off)
  • added support for SELECT CONNECTION_ID()
  • handler error 2019, when unable to change charset because unavailable on backend
  • implemented clear_password login
  • implemented AuthSwitchRequest to switch authentication method. This makes ProxySQL usable for client libraries using caching_sha2_password and also allows support for the LDAP plugin

General changes

  • automatically increase RLIMIT_NOFILE if the value 1024 is detected
  • do not dump on error log runtime mysql servers tables when running queries against runtime_mysql_servers
  • maximum value for mysql_servers.weight is now 10000000
  • mysql_query_rules.replace_pattern has better input validation
  • added many status variables to improve troubleshooting
  • if mysql-query_digests_track_hostname is enabled, stats_mysql_query_digest tracks the hostname of the client sending the query

SHA1s

b14d94c64e5e85915c7abb52b8b75c1c1d53f0c1  proxysql-2.0.1-1-centos67.x86_64.rpm
65df60146c56ab5542a21265c673e3a82e7bc4d7  proxysql-2.0.1-1-centos7.x86_64.rpm
290b9dc21988ed6fafbe26c1fa13a9a19b7c2531  proxysql-2.0.1-1-clickhouse-centos7.x86_64.rpm
ff440703eb27c783ed98f6ea837ae8e51f08addb  proxysql-2.0.1-1-clickhouse-fedora24.x86_64.rpm
2f04e978a04c21879ffa45995baa7be0d34fe286  proxysql-2.0.1-1-clickhouse-fedora27.x86_64.rpm
6142c7a788909f9b9089d7b469d4e4d880c2fcf3  proxysql-2.0.1-1-clickhouse-fedora28.x86_64.rpm
c4f18d244e0f743055df5cc73b6c81baecd2c59c  proxysql-2.0.1-1-dbg-centos67.x86_64.rpm
43be2354c6951b7947e1ef00d02757663c8c847e  proxysql-2.0.1-1-dbg-centos7.x86_64.rpm
7714cbf0f53a7d66bd84ba8ef8a4ebe5a4853c98  proxysql-2.0.1-1-dbg-fedora24.x86_64.rpm
2d241c0326d1a289f1cf25c46f24065cc9d851bd  proxysql-2.0.1-1-dbg-fedora27.x86_64.rpm
d4b045d8892980989ec5b2c3c6d87a14c2f697f9  proxysql-2.0.1-1-dbg-fedora28.x86_64.rpm
186440e1859bd4976db04b551b205f3d259ccd17  proxysql-2.0.1-1-fedora24.x86_64.rpm
73fe97f479a9e9132d177f68862c351625f289e2  proxysql-2.0.1-1-fedora27.x86_64.rpm
a607de8db324f211bafe8f0a0a2e9b0aa620f27d  proxysql-2.0.1-1-fedora28.x86_64.rpm
d18712facd675b5ea1ad9ea34f7840296ec864ff  proxysql_2.0.1-clickhouse-debian9_amd64.deb
abfc8c83f46687c76b241297fb46d54fd3d4f9ba  proxysql_2.0.1-clickhouse-ubuntu16_amd64.deb
fda239c06ffa6b7ebfe6434e5a0e3523fde510c8  proxysql_2.0.1-clickhouse-ubuntu18_amd64.deb
a762c12a69230226f8f0d10d834f6baa5aa3da30  proxysql_2.0.1-dbg-debian8_amd64.deb
67613fed05ddd098adde9034046e7c3f1bbad288  proxysql_2.0.1-dbg-debian9_amd64.deb
49c6e77eaa3e55d203cdebafb9a0b81c568b52cf  proxysql_2.0.1-dbg-ubuntu14_amd64.deb
9a21b678a27597d3e67cb6d5b50bd355c93ae380  proxysql_2.0.1-dbg-ubuntu16_amd64.deb
94e1bc9fc1564b5a0231dc94eb0ee0dddb30f530  proxysql_2.0.1-dbg-ubuntu18_amd64.deb
97ac342def258cd2517e475273a5b306561aeda5  proxysql_2.0.1-debian8_amd64.deb
afa9de575f60d2af263e745986d942f3bccf72d6  proxysql_2.0.1-debian9_amd64.deb
79ef7d981eb5e602588848970afeacffcc46a8f6  proxysql_2.0.1-ubuntu14_amd64.deb
8f6af8d534e3bd94fd2d01866965dcbbe7857c2f  proxysql_2.0.1-ubuntu16_amd64.deb
80149b48d0bab19e3c072f939832a3b26a0567b1  proxysql_2.0.1-ubuntu18_amd64.deb

MD5s

c68886061845ffb223e111100b250b07  proxysql-2.0.1-1-centos67.x86_64.rpm
4e6f940c89b44cc2bfade591b7b5cfcf  proxysql-2.0.1-1-centos7.x86_64.rpm
6ec0b302aa327bc51444e13b2b8729d5  proxysql-2.0.1-1-clickhouse-centos7.x86_64.rpm
0f0c685baa6b4ce8cfdcb9d83231b450  proxysql-2.0.1-1-clickhouse-fedora24.x86_64.rpm
70dba48a95495cbbb5a4ba7e15050943  proxysql-2.0.1-1-clickhouse-fedora27.x86_64.rpm
7004b8e3a84cdb80d5faf5e1a16fd5e6  proxysql-2.0.1-1-clickhouse-fedora28.x86_64.rpm
b3ac6e5aa47c5437a1dddf770a10db8b  proxysql-2.0.1-1-dbg-centos67.x86_64.rpm
25dc67147b6c422ddfa151291f0482f5  proxysql-2.0.1-1-dbg-centos7.x86_64.rpm
32bcb891648519cad7c2e21b5b176f48  proxysql-2.0.1-1-dbg-fedora24.x86_64.rpm
a0d657b7a1f0edb503c58ed270823781  proxysql-2.0.1-1-dbg-fedora27.x86_64.rpm
c5bd7f9ec6cee6e68228f086353fd740  proxysql-2.0.1-1-dbg-fedora28.x86_64.rpm
a39418aa428694816007c1312e963121  proxysql-2.0.1-1-fedora24.x86_64.rpm
9a0a887267cc99f05bd291118e2d726c  proxysql-2.0.1-1-fedora27.x86_64.rpm
e6463762c881ae052bb4001d1713a008  proxysql-2.0.1-1-fedora28.x86_64.rpm
3469f5fe7d3a18bbcd5d04622a00b0e2  proxysql_2.0.1-clickhouse-debian9_amd64.deb
b559a6e52289f1b9ab5a1daed6317c97  proxysql_2.0.1-clickhouse-ubuntu16_amd64.deb
cf90f50e20c9b2f33e0a939d4373413c  proxysql_2.0.1-clickhouse-ubuntu18_amd64.deb
df8a7d451acfa5210e2eb0f51721c302  proxysql_2.0.1-dbg-debian8_amd64.deb
be2aae1690c85ce02fc82cf786b1d4b9  proxysql_2.0.1-dbg-debian9_amd64.deb
7ed4cfedd81fcc7ba55a927cf42b0cc5  proxysql_2.0.1-dbg-ubuntu14_amd64.deb
a8d8dc5c0c97ef6cb510c80998cdb33d  proxysql_2.0.1-dbg-ubuntu16_amd64.deb
8d59907d9a9225d311812556804f8760  proxysql_2.0.1-dbg-ubuntu18_amd64.deb
e5465ac0cf9f707029d31d5c050237e1  proxysql_2.0.1-debian8_amd64.deb
67ab28e1b5633be37f1a84a75a743828  proxysql_2.0.1-debian9_amd64.deb
34696b024ea644a822dea3aec15db9fd  proxysql_2.0.1-ubuntu14_amd64.deb
65eaa0b1033e783faa0ec1dc1f948f8f  proxysql_2.0.1-ubuntu16_amd64.deb
ba76c453d3517384eb340d32460d9dfc  proxysql_2.0.1-ubuntu18_amd64.deb
Assets 29