乳房太大必要时要缩小_美美生活馆

mysql proxy源代码初探

08月 30th, 2008 by Skylin

今天花了半天时间看了下mysql proxy源代码,主要是找出MYSQL协议部分,下面我来说一下过程,以便记录一下。

第一步:找出重点结构

1.network_mysqld_config

network_mysqld_config结构 在network-mysqld.h

主要用于mysqlproxy的整体配置结构,存储的一些服务器IP和端口地址。用于mysql proxy和链接客户端使用

2.netword_mysqld

netword_mysqld结构 network-mysqld.h

个人觉得主要存储mysql proxy的事件驱动机制和network_mysqld_config结构,还会存储一个HASH表结构,这个HASH表结构中存储的是一些功能函数,比如connections_select,config_select,help_select,authors_select函数,这些函数在mysql-proxy.c文件中,这个结构和network_mysqld_config结构是两个全局结构,基本上其他结构都会用到这两个结构体。

3.network_mysqld_table

netword_mysqld_table结构 network-mysqld.h

这个结构就是用在network_mysqld中的HASH表中的,用于存储上面HASH表存储的那几个功能函数。

4.netword_mysqld_con

netword_mysqld_con结构 network-mysqld.h

这个结构表示mysql proxy服务器和客户端的链接状态和请求状态,其中存储着套接字信息和MYSQL链接请求信息,还有模拟MYSQL协议的功能函数信息(以插件形式存在)

5.network_socket

network_socket结构 network-socket.h

里面存储的就是mysql proxy服务端和客户端的sockaddr信息了,包括IP地址字符串信息,主要使用在netword_mysqld_con结构中。其中还用到了network_address,network_queue结构,好像还包括用户名密码(应该是MYSQL的)

基本上主要结构体就是这些了,现在我已经在分析模拟MYSQL协议的地方了,有时间我会在继续写的。

Posted in C/C++ |

Leave a Comment