心 涯

NET&JAVA&PHP(要跨界,你不只要跨「脑」的界限,更要跨越「心」的界限,不怕改变,不怕再学习!)

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

一、软件包

a) mysql-proxy-0.7.2-linux-rhel5-x86-32bit.tar.gz

b) lua-5.1.4.tar.gz

二、系统环境

a) 主数据库 59.64.28.78

b) 从数据库 59.64.28.79

c) MYSQL代理 59.64.30.99

三、安装步骤

a) 配置好MYSQL的主从同步。

b) 在MYSQL代理服务器上执行

c) Cd /var/local/software

d) tar zxvf lua-5.1.4.tar.gz

e) cd lua-5.1.4

f) make linux; make install;

g) export LUA_CFLAGS="-I/usr/local/include" LUA_LIBS="-L/usr/local/lib -llua -ldl" LDFLAGS="-lm"

h) cd ../

i) tar zxvf mysql-proxy-0.7.2-linux-rhel5-x86-32bit.tar.gz

j) mv mysql-proxy-0.7.2-linux-rhel5-x86-32bit /usr/local/mysql-proxy

k) export PATH=$PATH:/usr/local/mysql/mysql-proxy/sbin/

l) mysql-proxy –help-all正确显示mysql-proxy命令的帮助信息表示安装成功

四、读写分离测试

a) 在主数据库上/usr/local/mysql/bin/mysql –uroot –p123456

b) Mysql>use shlevod_base;

c) Mysql>CREATE TABLE `sys_t` (

`id` varchar(36) NOT NULL,

`name` varchar(20) DEFAULT '',

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1;

Mysql>insert into sys_t(id,name) value(1,’78’);

d) 在从数据库上/usr/local/mysql/bin/mysql –uroot –p123456

e) Mysql>use shlevod_base;

f) Mysql>insert into sys_t(id,name) value(2,’79’);

g) 启动MYSQL代理

mysql-proxy --proxy-read-only-backend-addresses=59.64.28.79:3306 --proxy-backend-addresses=59.64.28.78:3306 --proxy-lua-script=/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua &

说明59.64.28.78主数据库为读写数据库

59.64.28.79从数据库为只读 数据库

g) 在另一台客户端MYSQL数据库上连接MYSQL代理数据库(不能是主从和代理服务器不能很难看书分离测试情况)

/usr/local/mysql/bin/mysql -uroot -p123456 -P4040 -h59.64.30.99

Mysql>use shlevod_base;

Mysql>insert into sys_t(id,name) value(3,’99’);

h) 在主数据库上查询

i) Mysql>select * from sys_t;可以看到99这条数据在主数据库上存在,但79那条数据是不存在的。但从代理服务器上查询可以查询到所有的数据。

j) 在从数据库上查询

k) Mysql>select * from sys_t;可以看到99这条数据也存在。是因为数据是主从同步过来的。

l) 以上逻辑说明数据可以实现读写分离。数据库可以统一的经过代理来连接。分配读写数据库的服务器。

五、注意事项

a) 主从和代理服务器上需要一相同的MYSQL帐号和密码来实现读写分离。

b) MYSQL的PROXY的端口是4040

六、参考资料

http://blog.chinaunix.net/u/29134/showart_482210.html

posted on 2010-04-16 14:31  witer666  阅读(296)  评论(0编辑  收藏  举报