一、 目标
现有几台虚拟机,一台主机,多台从机,笔者所要做的是在这几台虚拟机中构建mysql-proxy,实现读写分离。如下图所示:
mysql-proxy就是一个中间层代理,简单的说,mysql-proxy就是一个连接池,负责将前台应用的连接请求转发给后台的数据库,并且通过使用lua脚本,可以实现复杂的连接控制和过滤,从而实现读写分离和负载平衡。对于应用来说,mysql-proxy是完全透明的,应用则只需要连接到mysql-proxy的监听端口即可。当然,这样proxy机器可能成为单点失效,但完全可以使用多个proxy机器作为冗余,在应用服务器的连接池配置中配置到多个proxy的连接参数即可。
二、 基本步骤
a) 安装依赖包和软件
先安装mysql,具体方法参考:
http://blog.csdn.net/wssg3620625/article/details/17893381
mysql-proxy的读写分离主要是通过rw-splitting.lua脚本实现的,因此需要安装lua。
可以从http://www.lua.org/download.html中下载源码,
# cd /data/qiuzl/software
# wget http://www.lua.org/ftp/lua-5.2.2.tar.gz
# tar zvfx lua-5.2.2.tar.gz
# cd lua-5.2.2
# make linux