天天看点

【原创】MySQL Proxy - read_handshake()

       握手信息是在初始连接建立后(通过 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 才能返回错误包信息给客户端。

继续阅读