mysql-proxy配置
来源:互联网 发布:淘宝直播浮现权开通 编辑:程序博客网 时间:2024/06/12 01:30
1.下载mysql-proxy-0.6.1-linux-rhel4-x86-32bit版本,下载地址为
http://mirrors.dotsrc.org/mysql/Downloads/MySQL-Proxy/
2.解压mysql-proxy-0.6.1-linux-rhel4-x86-32bit
tar –zxvfmysql-proxy-0.6.1-linux-rhel4-x86-32bit.tar.gz
3.启动mysql-proxy
./mysql-proxy --admin-address=:4401 --proxy-address=:3307 --proxy-read-only-backend-addresses=192.168.18.33:3306 192.168.18.187:3306 --proxy-backend-addresses=192.168.18.30:3306 --proxy-lua-script=/home/ouyl/mysql/mysql-proxy-0.6.1-linux/share/mysql-proxy/mysqlnew.lua &
附:
1) Mysqlproxy的lua脚本:
Mysqlproxy mysql proxy 可以在LUA文件定义一个或者几个函数,从而来控制代理与mysql server交互的过程以及结果,具体的函数如下 ,
init(), connect_server(), read_handshake(), send_handshake(),
read_auth(), send_auth(), read_auth_result(), send_auth_result(),
read_query(), read_query_result(), send_query_result(), cleanup()
connect_server() — 这个函数每次client连接的时候被调用,可以用这个函数来处理负载均衡,决定当前的请求发给那个后台的服务器,如果没有指定这个函数,那么就会采用简单的轮询机制。
read_handshake() — 这个函数在server返回初始握手信息时被调用,可以调用这个函数在验证信息发给服务器前进行额外的检查。
read_auth() — client发送验证信息给服务器的时候会调用这个函数。
read_auth_result() — 服务器验证信息返回后调用这个函数。
read_query() — 每次client发送查询请求函数的时候被调用,可以用这个函数进行查询语句的预处理,过滤掉非预期的查询等等,这个是最常用的函数。
read_query_result() — 查询结果返回是调用的函数,可以进行结果集处理。
应用程序可以通过lua脚本重写这些方法,定制自己需要的功能
Connect_server():
可以修改连接参数,实现负载平衡
通过启动命令指定连接的后台服务器:
Mysql-proxy—proxy-backend-addresses=192.168.95.136
在该函数中可以通过,设置proxy.backend.backend_ndx=1来指定需要连接的服务器
Read_query(packet):
该方法内可以不对请求做任何修改
可以纠正拼写错误,slect,CRATE等修改为select,create
过滤请求,批量删除
根据一定的策略重写请求的sql语句
添加可能漏掉的语句
注意:如果需要重写proxy,需要将命令加入到待发送队列:
Proxy.queries.append(1,string.char(proxy.COM_PROXY),’SHOW DATABASES’)
然后return PROXY_SEND_QUREY 表示从query队列中发送请求
Read_query_result(injection_packet):
可以根据自己的需要定制返回结果,应用非常灵活
如果需要返回自己构造的resultset,需要返回:
Proxy.PROXY_SEND_RESULT
如果需要丢弃结果,需要返回:
Proxy.PROXY_IGNORE_RESULT
附:
2) mysqlproxy的主要命令:
--help-all显示所有的帮助选项
--admin-address=host:port 管理主机及端口,默认是4041
--proxy-address=host:port 代理服务器的监听地址及端口,默认4040
--proxy-read-only-address=host:port 只读连接时,代理服务器的监听地址及端口。默认4042
--proxy-backend-addresses=host:port连接真实服务器的地址及监听端口,默认是3306,这是mysql代理最重要的选项,多个 主机之间用空格隔开。
--proxy-lua-script=file 指定lua脚本的名称
- mysql-proxy配置
- Mysql Proxy配置笔记
- Mysql Proxy配置
- MySQL Proxy配置选项
- mysql-proxy安装配置
- MySQL-Proxy的安装配置
- MySQL-Proxy的安装配置
- MySql Proxy安装配置详解
- mysql-proxy安装及配置
- altas mysql-proxy安装配置
- Mysql Proxy安装与配置
- mysql配置mysql-proxy读写分离
- mysql配置mysql-proxy读写分离
- mysql配置mysql-proxy读写分离
- Mysql配置Mysql-proxy读写分离
- mysql配置mysql-proxy读写分离
- 基于MySQL-Proxy的读写分离配置
- Ubuntu下mysql-proxy服务器的配置
- Css换行
- 中文乱码 我的经验
- 基于TCP的socket编程步骤
- Dojo高级Web2.0 UI组件库---Tree组件
- validator框架 validate方法
- mysql-proxy配置
- 动态库
- ORACLE 最大连接数的问题
- 菜鸟课堂(2)---DOS常用命令及格式
- 利用下游故障分析改进测试有效性
- 风放的世界
- 独自面对
- 测试覆盖率
- htc文档详解