mysql_proxy中间件实现:读写分离、负载均衡。

mysql_proxy中间件实现:读写分离、负载均衡。

负载均衡:给多台数据库,看能不能均匀的分给不同的数据库。

客户端连的是proxy,此时的proxy相当于一台虚拟的mysql,proxy来连接mysql。Proxy是一台代理。

下载安装mysql_proxy:
http://mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-Proxy/mysql-proxy-0.8.3-linux-glibc2.3-x86-64bit.tar.gz 解压后, 该目录包含已经编译好的二进制文件 .
1: 利用mysql_proxy实现负载均衡
执行mysql_proxy,告诉proxy连接的2台mysql,
./mysql-proxy-path/bin/mysql-proxy \
./bin/mysql_proxy -P 4040 --proxy-backend-addresses=192.168.1.199:3306 \ --proxy-backend-addresses=192.168.1.200:3306 2: 连接mysql_proxy,用mysql客户就可以,因为proxy是mysql的前端代理
注意proxy的端口是4040
Mysql -h “proxy的IP” -P 4040 -u username -p password 在连接上之后,做sql查询,却总是往某1台mysql server来发送------负载均衡没体现出来?
答: 不是没体现出来.
均衡不是体现在sql语句,一会请求mysqlA服,一会请求mysqlB服.
均衡是体现”连接”的均衡上,又100个连接,则AB数据库每台50个连接,但具体的每一个连接,始终连某台服务器. mysql_proxy会把连接mysql服务器的tcp/IP连接缓存进连接池,只要拿到了某个连接就是一直连的是哪个mysql服务器。在缓存池里, 缓存的连接大致是平均分配在每台mysql服务器上。但具体的每一个连接,始终连某台服务器.
2.读写分离:
./bin/mysql-proxy \
--proxy-backend-addresses=192.168.1.199:3306 \ //写服务器
--proxy-read-only-backend-addresses=192.168.1.200:3306 \ //readonly就是读服务器
--proxy-lua-script=/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua //rw-splitting是读写分割的脚本 简写:
./bin/mysql-proxy -b=192.168.0.199:3306 -r=192.168.0.200:3306 -s=/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua 测试:停止一个slave,使他们成为主从,然后测试一边插入另一边能不能插入。

最新文章

  1. 配置apache apache服务器如何配置多站点
  2. 《java笔记 day07》
  3. 【Shell脚本学习4】几种常见的Shell
  4. 删除TreeView节点以及其子节点
  5. Spring BOOT PERFORMANCE
  6. 后台进程弹Toast的几种方案
  7. jQuery中 prop() attr()使用详解
  8. 贪吃蛇AI
  9. virt
  10. less补充函数
  11. 我的Spring学习记录(一)
  12. Android实训案例(五)——四大组件之一ContentProvider的使用,通讯录的实现以及ListView的优化
  13. selenium3(java)之屏幕截图操作
  14. 用OpenSCAD設計特製的遊戲骰子
  15. python docopt模块详解
  16. oracle 批量更新merge语句
  17. 福尔摩斯基本演绎法第一季/全集Elementary迅雷下载
  18. Lintcode:Longest Common Subsequence 解题报告
  19. 分享五:php数组操作
  20. New Reform---cf659E(dfs找环)

热门文章

  1. POJ2560 Freckles
  2. C# 判断上传图片是否被PS修改过的方法
  3. [MFC] CFile读写文件实现(高效)
  4. spring data jpa使用原生sql查询
  5. TOJ 4105
  6. SpringBoot中mybatis的自动生成
  7. Java I/O概述
  8. emacs 下 common lisp 配置
  9. Oracle SQL Developer Chanage UI to US Lanaguage
  10. python 工具 FFT变换