MYSQL Proxysql 2.X 添加了什么新功能

2020-10-17 00:00:00 功能 集群 支持 判断 提供


从PROXYSQL诞生起,发展有了些年头了,目前已经发展到了2.X ,从以前一个人,到现在成立了公司,更加完善和强大了PROXYSQL 已经成为很多人的选择。


2.X提供了什么新的功能,将PROXYSQL 针对MYSQL 的提供的。

 

1 增加了GTID的一致性访问路由功能


PROXYSQL 提供了针对GTID中关于判断PRIMARY 和STANDBY 之间的延迟的问题,可以将查询导入到和主库一直的从库通过判断GTID在服务器之间的数据同步的问题。

 这样有两个好处,无论是MGR 还是 INNODB REPLICATION 都可以进行判断,灵活性是很高的。通过BINLOG reader  让proxysql 来判断当前访问的库和主库之间是否有GTID的差别。


这里就得提到PROXYSQL BINLOG Reader, 一个轻量级的进程运行在MYSQL 的SERVER上,主库提供GTID的information ,并且将这些信息同步到所有的PROXYSQL 的集群中(不知道集群的,请看上一期)。

并且他考虑了相关CPU 和 NETWORK 的性能问题。当然proxysql_mysqlbinlog.


 当然值得一说的还有对GALERA replication 的支持,这里可能部分人不知什么是GALERA REPLICATION ,换个名词 PXC ,估计大部分人就知道了,其中对PXC 的支持也是有的 添加了部分参数,更符合PXC本身的原理,例如 MAX_ TRANSACTIONS_BEHIND ,Writer_is_also_reader 等等。但鉴于使用PXC的公司和个人越来越少,这里就 飞过。



值得我们注意的是从PROXYSQL 2.05 后开始的Audit log 的问题, 使用任何近被问到MYSQL的AUDIT 的问题,之前MYSQL 5.X是加载了AUDIT的插件,但目前上了MYSQL8 后,这方面就暂时短缺,而PROXYSQL 本身的提供了AUDIT LOG 并且格式是JSON 的,这就让后期的MYSQL的AUDIT问题在PROXYSQL上被解决掉。这里PROXYSQL 根据MYSQL本身的特点, 支持了SUCCESSFUL FAILED ,DISCONNECT ,CONNECTION CHANGE schema(COM_INT_DB)。


PROXYSQL 提供了白名单的功能,在之前如果设置了QUERY RULE 上有一些设置某些语句不能被使用或者进行语句转换,那对管理员来说可能就比较麻烦,例如我们设置了 SELECT count(*)的方式不能被接受,则所有的人都不能使用select count(*), 但对于特殊的人员这一定是不行的,所以我们就需要 mysql_firewall_whitelist_users 来将这些特殊的人,放到可以“肆意妄为的”自留地。


主要的是PROXYSQL 2. X对于性能方面的影响,下面是一些接口的API方面的升级


对于内存方面的升级

另外使用MYSQL 8的同学,需要使用PROXYSQL 2.09 来针对MYSQL 8的sha256_password 或者 caching_sha2_password的支持,否则必须将MYSQL 8 默认的密码验证方式调整会MYSQL 5.X上。


 另外还有一些针对 AWS 云方面的支持,和CHICKHOUSE数据库的支持。

当然还有上期的关于PROXYSQL 集群方面的功能。


后面会针对PROXYXQL 的一些更新后的功能,进行详细的测试和report.


相关文章