已经搭建好MySQL主从架构

10.205.22.185 #mysql-proxy

10.205.22.186 #master

10.205.22.187 #slave

1.安装mysql-proxy软件

wget http://cdn.mysql.com/archives/mysql-proxy/mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz
useradd mysql-proxy -s /sbin/nologin
tar -xvf mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz -C /usr/local/mysql-proxy

2.添加环境变量和授权

.修改 /etc/profile文件
export PATH=$PATH:/usr/local/mysql-proxy/bin .修改/etc/ld.so.conf文件
/usr/local/mysql-proxy/lib 3.在master上添加proxy连接账户
grant all on *.* to 'admin'@'10.205.22.%' identified by 'admin';

3.编辑mysql-proxy配置文件

[mysql-proxy]
daemon = true
keepalive = true
pid-file = /var/run/mysql-proxy.pid
log-file = /var/log/mysql-proxy.log
log-level = debug
max-open-files =
plugins = admin,proxy
user = mysql-proxy
#
#Proxy Configuration
proxy-address = 0.0.0.0:
proxy-backend-addresses = 10.205.22.186:
proxy-read-only-backend-addresses = 10.205.22.187:
proxy-lua-script = /usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua
#proxy-skip-profiling = true
#
# Admin Configuration
admin-address = 0.0.0.0:
admin-lua-script = /usr/local/mysql-proxy/lib/mysql-proxy/lua/admin.lua
admin-username = admin
admin-password = admin

4.启动mysql-proxy服务,查看proxy连接端口3307和管理端口4041是否启动

/mysql-proxy --defaults-file=/etc/mysql-proxy.cnf &

5.在客户端连接代理接口测试

1.在MySQL连接比较少的情况下测试,可以修改/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua
  min_idle_connections = 1,
  max_idle_connections = 1,
默认为4,8 2.mysql -h10.205.22.185 -uadmin -padmin -P 3307
分别做插入和查询操作,查看是否读写分离。可开启mysql操作日志查看或者抓包。

6.在客户端连接管理端口查看

mysql -h10.205.22.185 -uadmin -padmin -P 4041
mysql> SELECT * FROM backends;
+-------------+--------------------+-------+------+------+-------------------+
| backend_ndx | address | state | type | uuid | connected_clients |
+-------------+--------------------+-------+------+------+-------------------+
| 1 | 10.205.22.186:3306 | up | rw | NULL | 0 |
| 2 | 10.205.22.187:3306 | up | ro | NULL | 0 |
+-------------+--------------------+-------+------+------+-------------------+
2 rows in set (0.00 sec)

参考1参考2

MySQL5.6基于mysql-proxy实现读写分离的更多相关文章

  1. MySQL主从(MySQL proxy Lua读写分离设置,一主多从同步配置,分库分表方案)

    Mysql Proxy Lua读写分离设置 一.读写分离说明 读写分离(Read/Write Splitting),基本的原理是让主数据库处理事务性增.改.删操作(INSERT.UPDATE.DELE ...

  2. mysql proxy 数据库读写分离字符集乱码

    mysql proxy 数据库读写分离字符集乱码 解决办法 在对应配置后端数据库服务器的配置.cnf中加入如下代码 init-connect='SET NAME UTF8' skip-characte ...

  3. Docker-Mysql-proxy Mysql Proxy实现读写分离

      Docker-Mysql-proxy Mysql实现读写分离与负载 原理 MySQL Proxy处于客户端应用程序和MySQL服务器之间,通过截断.改变并转发客户端和后端数据库之间的通信来实现其功 ...

  4. Mysql主从复制,读写分离(mysql-proxy),双主结构完整构建过程

    下面介绍MySQL主从复制,读写分离,双主结构完整构建过程,不涉及过多理论,只有实验和配置的过程. Mysql主从复制(转载请注明出处,博文地址:) 原理是master将改变记录到二进制日志(bina ...

  5. Windows操作系统下的MySQL主从复制及读写分离[转]

    mysql主从复制配置   保证主库和从库数据库数据一致 mysql主库MASTER配置(在my.cnf中加入以下配置):log-bin=master-binbinlog-do-db=test #需要 ...

  6. Windows操作系统下的MySQL主从复制及读写分离

    一.主服务器(master)配置 1.修改MySQL配置文件my.ini [mysqld] log-bin=mysql-binlog-bin-index=mysql-bin.indexserver-i ...

  7. Mysql主从复制,读写分离(mysql-proxy)

    Mysql主从复制,读写分离(mysql-proxy) 下面介绍MySQL主从复制,读写分离,双主结构完整构建过程,不涉及过多理论,只有实验和配置的过程. Mysql主从复制(转载请注明出处,博文地址 ...

  8. MySQL/MariaDB数据库的PROXY实现读写分离

    MySQL/MariaDB数据库的PROXY实现读写分离 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.ProxySQL概述 1>.各家互联网公司读写分离的解决方案 m ...

  9. Mysql主从配置+读写分离

    Mysql主从配置+读写分离     MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. ...

  10. Mysql主从配置+读写分离(转)

       MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. 注:安装前须查看是否已经安装了 ...

随机推荐

  1. 安装mplayer2和smplayer2

    MPlayer2 PPA源安装,打开终端,输入命令: sudo add-apt-repository ppa:motumedia/mplayer-daily sudo apt-get update s ...

  2. 阿里云主机windows系统Apache启用浏览器缓存的方法

    一群友使用卡卡网的网站速度诊断工具诊断网站速度时,发现有几个需要优化的地方,其中较为重要的是“启用浏览器缓存”.诊断结果显示,网站尚未启用浏览器缓存. 图一:浏览器缓存未启用 群友找我帮忙设置一下,据 ...

  3. POJ 3164——Command Network——————【最小树形图、固定根】

    Command Network Time Limit: 1000MS   Memory Limit: 131072K Total Submissions: 15080   Accepted: 4331 ...

  4. DevExtreme 搭建Node.js开发环境

    简介 DevExtreme is a component suite for creating highly responsive web applications for touch devices ...

  5. asp实现网页浏览总数

    <% AlldayView=0 Set Rs=Server.CreateObject("Adodb.RecordSet") Sql="select * from v ...

  6. $.ajax、$.post

    jQuery.post( url, [data], [callback], [type] ) :使用POST方式来进行异步请求 参数: url (String) : 发送请求的URL地址. data ...

  7. 定时备份oracle数据库脚本文件

    @echo off REM ########################################################### REM # Windows Server 2003下 ...

  8. WinRAR(WinZip)压缩与解压实现(C#版Window平台)

    本文的原理是借助Windows平台安装的WinRAR(WinZip)实现C#程序的调用(注:WinRAR压缩解压WinZip同样适用). 先来看WinRAR(WinZip)自身的支持调用命令: 压缩命 ...

  9. 常规项目用到的jar包之maven的pom.xml

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  10. http头部如何对缓存的控制

    文章自于我的个人博客 使用缓存的目的就是在于减少计算,IO,网络等时间,可以快速的返回,特别是流量比较大的时候,可以节约很多服务器带宽和压力. 一个请求从缓存的方面来说,有三个过程. 本地检查缓存是否 ...