快速业务通道

MySQL Proxy 安装与读写分离体验

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-09

MySQL Proxy 安装与读写分离体验 一直想等到BETA版出来再试验的,可还是经不住诱惑阿,下午终于有时间测试一下了.
(本文参考地址:http://blog.chinaunix.net/u/8111/showart.php?id=451420
一、必备软件:
1、LUA
可以去LUA的官方下载:[url]www.lua.org[/url]
2、MySQL Proxy
这里有好多二进制版本.
[url]http://mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-Proxy/[/url]
或者去MYSQL官方下载源代码.
3、测试过程中取消了B和C的REPLICATION.这样SQL语句一下子就看出来从哪里来的.
如果是M-S(可以先在SLAVE上进行STOP SLAVE)
二、测试主机地址:
1、MySQL Proxy 安装地址:192.168.0.234(简称A)
2、MySQL 服务器地址:192.168.0.235(简称B)/236(简称C)
三、安装体验
如果是按照二进制包安装的,跳过这一步.
1、 LUA的安装
[root@localhost ~]#tar zxvf lua-5.1.2.tar.gz -C /usr/local
[root@localhost ~]# cd /usr/local/
[root@localhost local]# mv lua-5.1 lua
[root@localhost lua]# cd lua
[root@localhost lua]#make local;make install;
导出环境变量:
[root@localhost lua]#export LUA_CFLAGS="-I/usr/local/include" LUA_LIBS="-L/usr/local/lib -llua -ldl" LDFLAGS="-lm"
2、MySQL Proxy 安装
[root@localhost ~]#tar -zxvf mysql-proxy-0.6.1-linux-rhel4-x86-32bit.tar.gz -C /usr/local/mysql/
[root@localhost ~]#cd /usr/local/mysql
[root@localhost mysql]#mv mysql-proxy-0.6.1-linux-rhel4-x86-32bit/ mysql-proxy
[root@localhost sbin]# export PATH=$PATH:/usr/local/mysql/mysql-proxy/sbin/

四、使用MySQL Proxy
1、查看帮助选项
[root@localhost ~]# mysql-proxy --help-all
2、对MySQL 操作
MySQL服务器假设已经安装.(安装步骤这里就不写了)
Empire CMS,phome.net

两台机器上的表初始结构和数据都是一样的,都有t_girl_user这个用户.
mysql>desc t;

------- ---------- ------ ----- --------- ----------------
| Field | Type | Null | Key | Default | Extra |
------- ---------- ------ ----- --------- ----------------
| id | int(11) | NO | PRI | NULL | auto_increment |
| c_str | char(64) | NO | | | |
------- ---------- ------ ----- --------- ----------------
2 rows in set (0.00 sec)


2 rowsinset(0.00 sec)
我在B上插入一条记录
mysql> insert into t(c_str) values(''B'');
Query OK, 1 row affected (0.00 sec)
C上同样插入一条记录
mysql> insert into t(c_str) value(''C'');
Query OK, 1 row affected (0.00 sec)

mysql>
3、启动MySQL-Proxy(测试读写分离)
[root@localhost sbin]# mysql-proxy --proxy-read-only-backend-addresses=192.168.0.236:3306 --proxy-backend-addresses=192.168.0.235:3306 --proxy-lua-script=/usr/local/mysql/mysql-proxy/share/mysql-proxy/rw-splitting.lua &
[1] 32554
让MYSQL PROXY自动启动的简单脚本
#!/bin/sh
# export PATH=$PATH:/usr/local/mysql-proxy
cd /usr/local/mysql-proxy
./mysql-proxy --proxy-read-only-backend-addresses=192.168.0.236:3306 --proxy-backend-addresses=192.168.0.235:3306 --proxy-lua-script=rw-splitting.lua >> /tmp/log
~
这个例子中限制192.168.0.236为只读,192.168.0.235为可写.
Empire CMS,phome.net

4、下来我们来看试验结果.
我们用几台客户端开启

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号