导读

  因为读写分离建立在MySQL集群主从复制的基础上,还不了解的,先看我另一篇博客:点我直达

MySQL-Proxy简介

  mysql-proxy是mysql官方提供的mysql中间件服务,上游可接入若干个mysql-client,后端可连接若干个mysql-server。它使用mysql协议,任何使用mysql-client的上游无需修改任何代码,即可迁移至mysql-proxy上。mysql-proxy最基本的用法,就是作为一个请求拦截,请求中转的中间层:

  进一步的,mysql-proxy可以分析与修改请求。拦截查询和修改结果,需要通过编写Lua脚本来完成。mysql-proxy允许用户指定Lua脚本对请求进行拦截,对请求进行分析与修改,它还允许用户指定Lua脚本对服务器的返回结果进行修改,加入一些结果集或者去除一些结果集均可。

  根本上,mysql-proxy是一个官方提供的框架,具备良好的扩展性,可以用来完成:

  1. sql拦截与修改
  2. 性能分析与监控
  3. 读写分离
  4. 请求路由

下载

官网链接:点我直达

百度云盘地址:https://pan.baidu.com/s/1Aw1laIWYJVvHYshHXw4p_Q  密码: 9qif

需求

  1. 1台MySQL-Proxy机器,IP:192.168.1.106
  2. 1台MySQl主服务器(可读可写),IP:192.168.1.107
  3. 1台MySQL从服务器(只读),IP:192.168.1.109

解压MySQL-Proxy

  在192.168.1.106上解压:mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz

重命名文件

MySQL配置

创建mysql-proxy.cnf

vim mysql-proxy.cnf

[mysql-proxy]
admin-username=root #admin用户名
admin-password=root admin密码
proxy-address=192.168.1.106:4040 # 代理地址
proxy-backend-addresses=192.168.1.107:3306 #mysql主服务器ip地址,默认端口3306
proxy-read-only-backend-addresses=192.168.1.109:3306 #mysql从服务器ip地址,有多个逗号隔开 ip:port,ip:port,ip:port
proxy-lua-script=/cyb/soft/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua #lua位置
log-file=/cyb/soft/mysql-proxy/log/mysql-proxy.log #日志文件存储路径
log-level=debug
daemon=true # mysql-proxy以守护进程方式运行
keepalive=true #保持连接启动进程会有2个, 一号进程用来监视二号进程

创建log目录

修改mysql-proxy.cnf文件的权限

chmod 660 mysql-proxy.cnf

修改rw-splitting.lua

vim /cyb/soft/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua

min_idle_connections:最小闲置连接数

max_idle_connections:最大闲置连接数

MySQL-Proxy启动

 ./mysql-proxy --defaults-file=/cyb/soft/mysql-proxy.cnf

测试

  在192.168.1.106上关闭防火墙

service iptables stop

chkconfig iptables off

  演示过程中,有2次连不上,原因不明,还有待查证,目前功能是已经实现了,注意,此时连mysql-proxy的端口已经不是3306了,是4040

最新文章

  1. 找不到类型“{x}.{x}”,它在 ServiceHost 指令中提供为 Service 特性值,或在配置元素 system.serviceModel/serviceHostingEnvironment/serviceActivations 中提供。
  2. jquery easyui DataGrid 数据表格 属性
  3. python模块之codecs
  4. Creating a Broker (创建代理)
  5. Eclipse Workspace Unavailable
  6. 划分树 静态第k大
  7. c#生成动态库并加载
  8. java集合 源码解析 学习手册
  9. 『性能』测试一下 MSSqlHelper 的性能
  10. 数据分析入门——Pandas类库基础知识
  11. java 保证程序安全退出
  12. HashSet的底层
  13. linux之more和less的基本使用
  14. IDEA不生成WAR包,报错
  15. python面向对象-三大特性
  16. [UE4]蓝图替换节点、引用快捷方式
  17. redis 单节点安装
  18. 前端CSS-font属性,超链接的美化,css精灵,background综合属性
  19. dp专题训练
  20. hdu1754 I Hate It(线段树单点更新,区间查询)

热门文章

  1. linux高级应用第九章-正则表达式
  2. [转]前人挖坑,后人填坑—如何把那些bug挖掘出来
  3. Condition线程通信_生产者消费者案例
  4. Keycloak快速上手指南,只需10分钟即可接入Spring Boot/Vue前后端分离应用实现SSO单点登录
  5. jchdl - RTL Value Propagation
  6. 50个SQL语句(MySQL版) 问题二十
  7. Java实现 蓝桥杯VIP 算法训练 快速排序
  8. 第八届蓝桥杯JavaB组省赛真题
  9. 【JavaScript】原生js实现:强制保留2位小数(由于toFixed()报错)
  10. 从零搭建Window前端开发环境