MYSQL-PROXY的安装与使用方法


本篇内容介绍了“MYSQL-PROXY的安装与使用方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!MySQL Proxy 安装与使用1. MYSQL 安装
(略)2. MYSQL PROXY 安装2.0 获取系统信息
getconf LONG_BIT
cat /etc/redhat-release

2.1 下载–二进制版本 (请下载v0.7.0以上)
wget http://mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-Proxy/mysql-proxy-0.6.1-linux-rhel4-x86-32bit.tar.gz
# 具体版本以SETP2.0所得信息而定2.2 安装2.2.1 #必备软件: LUA

cd /opt/install
wget http://www.lua.org/ftp/lua-5.1.2.tar.gz
tar zxvf lua-5.1.2.tar.gz
cd lua-5.1.2
make linux install2.2.2 #二进制版本安装
tar zxvf mysql-proxy-0.6.1-linux-rhel4-x86-32bit.tar.gz
cp mysql-proxy-0.6.1-linux-rhel4-x86-32bit/sbin/mysql-proxy $MYSQL目录/bin
mysql-proxy & //在后台启动,默认启动时4040和4041端口
mysql -P4040 // 现在这样也可以连接数据了3. MYSQL PROXY 使用手册:http://dev.mysql.com/doc/refman/5.1/en/mysql-proxy-cmdline.html
帮助: mysql-proxy –help-all3.0 测试环境10.2.224.236 RHEL4/32/MYSQL 5.0.51a — 简称为S-A
10.2.224.237 RHEL4/32/MYSQL 5.0.51a — 简称为S-B
10.5.232.210 RHEL4/32/MYSQL PROXY 0.6.1 — 简称为PROXY
10.2.226.24 — 简称CLIENT
3.1 测试读写分离要求: 写在S-A上, 读在S-B上,启动PROXY :
mysql-proxy –proxy-read-only-backend-addresses=10.2.224.237:3306
–proxy-backend-addresses=10.2.224.236:3306
–proxy-lua-script=/opt/install/mysql-proxy-0.6.1-linux-rhel4-x86-32bit/share/mysql-proxy/rw-splitting.lua &CLENT连接:
mysql -u probe -P4040 -palibaba -h 10.5.232.210 eservice -e ‘select count(*) from test’;
mysql -u probe -P4040 -palibaba -h 10.5.232.210 eservice -e “insert into test values (‘236’)”;这时,你在同一个SESSION中,不管你INSERT多少次, 你SELECT的结果都是一样的.因为你插和查根本不是同一个库.
这也就表明读写分离了!(注意这里的LUA文件,是在连接产生时才会执行.)3.2 测试负载平衡mysql-proxy –proxy-backend-addresses=10.2.224.237:3306
–proxy-backend-addresses=10.2.224.236:3306 &
(如果有,还可以写多个)在测试的时候,注意只有在五个SESSION以上,PROXY才会考虑平衡,在这里用了10个连接:
mysql -u probe -P4040 -palibaba -h 10.5.232.210 eservice在S-A上:
mysql> show processlist ;
+—-+——-+——————–+———-+———+——+——-+——————+
| Id | User | Host | db | Command | Time | State | Info |
+—-+——-+——————–+———-+———+——+——-+——————+
| 56 | root | 127.0.0.1:57794 | eservice | Query | 0 | NULL | show processlist |
| 83 | probe | 10.5.232.210:33770 | eservice | Sleep | 42 | | NULL |
| 84 | probe | 10.5.232.210:33772 | eservice | Sleep | 35 | | NULL |
| 85 | probe | 10.5.232.210:33774 | eservice | Sleep | 29 | | NULL |
| 86 | probe | 10.5.232.210:33776 | eservice | Sleep | 23 | | NULL |
| 87 | probe | 10.5.232.210:33778 | eservice | Sleep | 17 | | NULL开发云主机域名 |
+—-+——-+——————–+———-+———+——+——-+——————+在S-B上:.
mysql> show processlist ;
+———+——-+——————–+———-+———+——+——-+——————+
| Id | User | Host | db | Command | Time | State | Info |
+———+——-+——————–+———-+———+——+——-+——————+
| 5685701 | root | 127.0.0.1:58177 | eservice | Query | 0 | NULL | show processlist |
| 5685710 | probe | 10.5.232.210:33769 | eservice | Sleep | 50 | | NULL |
| 5685711 | probe | 10.5.232.210:33771 | eservice | Sleep | 42 | | NULL |
| 5685712 | probe | 10.5.232.210:33773 | eservice | Sleep | 37 | | NULL |
| 5685713 | probe | 10.5.232.210:33775 | eservice | Sleep | 31 | | NULL |
| 5685714 | probe | 10.5.232.210:33777 | eservice | Sleep | 25 | | NULL |
+———+——-+——————–+———-+———+——+——-+——————+从这么看,倒像是负载平衡起作用了!4. 失败切换当我们以多服务器启动时:
mysql-proxy –proxy-backend-addresses=10.2.224.237:3306
–proxy-backend-addresses=10.2.224.236:3306 &

只要一个节点(237)DOWN了. 那PROXY就连不上了!(原来连着236的SESSION不会断,但新加的连接就报:
ERROR 2013 (HY000): Lost connection to MySQL server at ‘reading initial communication packet’, system error: 0 )这时:
PROXY 会报: network-mysqld-proxy.c.3709: connect(10.2.224.237:3306) failed: Connection refused 并试着重新连接!V0.6.1 有这个BUG,V0.7.0 解决这个问题
5. PROXY 管理你可以用MYSQL CLIENT直接连到PROXY管理窗口进行管理查询:(管理端口可以更改)
mysql -P4041 -h 10.5.232.210
(root@FuncTestDB:)> select * from proxy_connections;
+——+——–+——-+———-+
| id | type | state | db |
+——+——–+——-+———-+
| 0 | server | 0 | |
| 1 | proxy | 0 | |
| 2 | server | 10 | |
| 3 | proxy | 10 | eservice |
+——+——–+——-+———-+
4 rows in set (0.00 sec)(root@FuncTestDB:)> select * from proxy_config;
+—————————-+——————-+
| option | value |
+—————————-+——————-+
| admin.address | :4041 |
| proxy.address | :4040 |
| proxy.lua_script | NULL |
| proxy.backend_addresses[0] | 10.2.224.237:3306 |
| proxy.backend_addresses[1] | 10.2.224.236:3306 |
| proxy.fix_bug_25371 | 0 |
| proxy.profiling | 1 |
+—————————-+——————-+
7 rows in set (0.00 sec)不过,据说PROXY还不推荐被使用在生产环境,“MYSQL-PROXY的安装与使用方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注开发云网站,小编将为大家输出更多高质量的实用文章!

相关推荐: MySQL中搭建ProxySQL Cluster的详细步骤

下文给大家带来关于MySQL中搭建ProxySQL Cluster的详细步骤,感兴趣的话就一起来看看这篇文章吧,相信看完MySQL中搭建ProxySQL Cluster的详细步骤对大家多少有点帮助吧。集群的搭建有很多种方式,如1+1+1的方式,还可以(1+1)…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 06/19 16:35
下一篇 06/19 16:41

相关推荐