(兼容了,但不完全兼容), 而且业务无法修改代码(可能都没得源码), 这时候就可以使用SQL改写来实现兼容性了.这种"定制的需求",找原厂的话, 流程太慢,而且大概率不会去实现....SQL改写我们之前已经使用自定义中间件实现读写分离,脱敏等功能了, 来个SQL改写自然也不在话下!....连接过程的包如下:SQL包而我们本次需要改写的则是SQL包, 对应为: COM_QUERY我们查询官网得到其payload结构如下:看起来有丢丢复杂, 但只要不考虑CLIENT_QUERY_ATTRIBUTES...我们在mysql客户端中使用help即可看到query_attributes看起来是没啥用的, 我们可以简单抓包测试下:query_attributes key1 123 key2 456select...但是ob中的mysql.help_keyword本来就是空的(兼容了,但不完全兼容), 所以我们可以创建一个其它表, 比如db1.help_keyword,再将sql改写为查询这个表的,测试如下:看起来是没得问题了总结通过自定义中间件能实现很多功能