文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

MYSQL-PROXY的安装与使用方法

2024-04-02 19:55

关注

本篇内容介绍了“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 install

2.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-all

3.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的安装与使用方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯