握手信息是在初始连接建立后(通过 connect_server())由服务器发送到客户端的。握手信息中包含关于 mysql 版本、用于处理连接信息的线程 id 、客户端和服务器 ip 地址等细节信息。这些信息通过 proxy.connection 结构提供。
proxy.connection.server.mysqld_version: mysql 服务器版本
proxy.connection.server.thread_id: 线程 id
proxy.connection.server.scramble_buffer: 存放 scramble password 的 buffer
proxy.connection.server.dst.name: 服务器的 ip 地址
proxy.connection.client.src.name: 客户端的 ip 地址
例如,你可以打印出握手数据信息,并通过 ip 地址拒绝一些客户端的连接,具体如下:
注意到,你必须通过 proxy.proxy_send_result 才能返回错误包信息给客户端。