我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MYSQL-PROXY的安装与使用方法

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

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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 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

MYSQL-PROXY的安装与使用方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python安装与使用redis的方法

本文实例讲述了python安装与使用redis的方法。分享给大家供大家参考,具体如下: 1、安装 好吧,我承认我只会最简单的安装:sudo apt-get install redis-serverpython 支持包: (其实就一个文件,搞
2022-06-04

wingIDE的安装与使用方法总结

Wing IDE 是一个集成开发环境(IDE),主要用于编写和调试 Python 程序。以下是 Wing IDE 的安装和使用方法的总结:安装 Wing IDE:1. 下载 Wing IDE 安装程序,根据你的操作系统选择对应的版本。2.
2023-09-14

Streamline安装与使用的方法是什么

要安装和使用Streamline,您可以按照以下步骤进行操作:下载安装Node.js:Streamline是一个基于Node.js的工具,所以首先需要在您的计算机上安装Node.js。您可以从Node.js官方网站(https://node
2023-10-22

Fiddler4安装与使用的方法是什么

Fiddler4是一款功能强大的网页调试工具,可以用于捕获和分析HTTP/HTTPS流量,帮助开发人员调试和优化网站性能。以下是Fiddler4的安装与使用方法:安装Fiddler4:打开Fiddler4官方网站(https://www.
Fiddler4安装与使用的方法是什么
2024-03-08

MVC+proxy的原理及使用方法

这篇文章主要讲解了“MVC+proxy的原理及使用方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MVC+proxy的原理及使用方法”吧!目录1、创建业务层UserService接口定义需
2023-06-20

mysql安装好如何使用 mysql安装与简单使用教程

mysql 是一款流行的开源关系型数据库管理系统 (rdbms)。本文将指导您如何安装和使用 mysql,以便您可以存储和管理您的数据。首先,我们将引导您完成安装过程,然后介绍基本的 mysql 命令,使您能够创建数据库、插入数据并检索信息
mysql安装好如何使用 mysql安装与简单使用教程
2024-10-17

MySQL Workbench安装及使用的方法是什么

MySQL Workbench是MySQL官方提供的数据库管理工具,用于连接、设计数据库、执行SQL查询等操作。下面是MySQL Workbench的安装及使用方法:安装MySQL Workbench:打开MySQL官网(https://
MySQL Workbench安装及使用的方法是什么
2024-03-08

Docker+nacos+seata1.3.0安装与使用配置方法

这篇文章主要介绍“Docker+nacos+seata1.3.0安装与使用配置方法”,在日常操作中,相信很多人在Docker+nacos+seata1.3.0安装与使用配置方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希
2023-06-20

nginx服务器的下载安装与使用方法

本篇内容介绍了“nginx服务器的下载安装与使用方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!下载http://nginx.org/en
2023-06-20

linux下ssh的安装方法与scp命令的使用

本篇内容介绍了“linux下ssh的安装方法与scp命令的使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!ubuntu默认并没有安装ssh
2023-06-09

Java 动态代理中Proxy的使用方法

本篇文章给大家分享的是有关Java 动态代理中Proxy的使用方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。动态代理可以提供对另一个对象的访问,同时隐藏实际对象的具体事实
2023-06-17

编程热搜

目录