mysql proxy学习(一)启动过程
mysql-proxy依赖的库较多包括:libevent,glib2,lua;所以代码阅读起来还是需要一些的相应的一些知识。
1. Libevent主要接口
event_base_new:初始化一个event_base
event_set:设置event事件;即初始化struct event结构:类型,文件描述符,回调函数以及参数
event_base_set:将上面设置的event绑定到指定的event_base;每个event都必须指定所属的event_base
event_add:注册event事件
event_base_dispatch:阻塞在某个event_base上,监视绑定在它上面的所有fd
2. mysql proxy启动
/u01/xiangzhong/mysql-proxy/bin/mysql-proxy --daemon --pid-file=/u01/xiangzhong/mysql-proxy/proxy.pid --plugins=proxy --proxy-address=:4040 --log-level=debug --log-file=/u01/xiangzhong/mysql-proxy/proxy.log --proxy-backend-addresses=127.0.0.1:4312 --proxy-lua-script=/u01/xiangzhong/mysql-proxy/proxy.lua --event-threads=5
这是我们的一个启动方式,可见它的启动参数非常的多;其中最重要的包括proxy-backend-addresses:表示mysql-proxy代理的后台服务器
proxy-lua-script:表示在proxy运行过程中它所hook的位置