工做拓扑:mysql
MySQL Proxy有一项强大功能是实现“读写分离”,基本原理是让主数据库处理写方面事务,让从库处理SELECT查询。linux
Amoeba for MySQL是一款优秀的中间件软件,一样能够实现读写分离,负载均衡等功能,而且稳定性也高于MySQL Proxy,有兴趣的能够测试一下。sql
环境描述:数据库
操做系统:CentOS6.3_x64后端
主服务器Master:192.168.0.202bash
从服务器Slave:192.168.0.203服务器
调度服务器MySQL-Proxy:192.168.0.204负载均衡
1、mysql主从复制tcp
这里就省略了,请参考http://going.blog.51cto.com/7876557/1290431ide
2、mysql-proxy实现读写分离
一、安装mysql-proxy
实现读写分离是有lua脚本实现的,如今mysql-proxy里面已经集成,无需再安装
下载:http://dev.mysql.com/downloads/mysql-proxy/
二、配置mysql-proxy,建立主配置文件
三、修改读写分离配置文件
四、启动mysql-proxy
五、测试读写分离
1>.在主服务器建立proxy用户用于mysql-proxy使用,从服务器也会同步这个操做
2>.使用客户端链接mysql-proxy
建立数据库和表,这时的数据只写入主mysql,而后再同步从slave,能够先把slave的关了,看能不能写入,这里我就不测试了,下面测试下读的数据!
3>.登录主从mysq查看新写入的数据以下,
4>.再登录到mysql-proxy,查询数据,看出能正常查询
5>.登录从服务器关闭mysql同步进程,这时再登录mysql-proxy确定会查询不出数据
6>.登录mysql-proxy查询数据,下面看来,能看到表,查询不出数据
配置成功!真正实现了读写分离的效果!