zoukankan      html  css  js  c++  java
  • MySQL读写分离之Proxy


    MySQL Proxy:
    ========================================================



    MySQL_Proxy Master Slave1 Slave2
    =========================================
    IP 192.168.1.250                   192.168.1.215                     192.168.1.66
    Server_ID  6                         215                                        66

    实现步骤:
    MySQL主/备复制
    安装并配置MySQL Proxy
    测试Proxy


    一、MySQL主/备复制(略)


    二、安装并配置MySQL Proxy
    1. 安装并配置

    [root@MySQL_Proxy ~]# service mysqld stop
    [root@MySQL_Proxy ~]# chkconfig mysqld off
    [root@MySQL_Proxy ~]# rpm -qa |grep lua
    lua-5.1.4-4.1.el6.x86_64
    [root@MySQL_Proxy ~]# tar xf mysql-proxy-0.8.4-linux-el6-x86-64bit.tar.gz -C /usr/local/
    [root@MySQL_Proxy ~]# cd /usr/local/
    [root@MySQL_Proxy ~]# ln -s mysql-proxy-0.8.4-linux-el6-x86-64bit mysql-proxy
    [root@MySQL_Proxy ~]# vim /usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua
    min_idle_connections = 1,
    max_idle_connections = 1,



    2. 启动mysql-proxy

    [root@MySQL_Proxy ~]# lsof -i TCP:3306
    [root@MySQL_Proxy ~]# /usr/local/mysql-proxy/bin/mysql-proxy --help-proxy


    -P 指定proxy服务器工作的地址和端口
    -b 指定写服务器的地址和端口
    -r 指定读服务器的地址和端口
    -s 指定判断的脚本
    --daemon 以后台进程的方式启动

    调整最大打开的文件数

    [root@MySQL_Proxy ~]# ulimit -a |grep 'open files'
    [root@MySQL_Proxy ~]# ulimit -n 10240
    [root@MySQL_Proxy ~]# ulimit -a |grep 'open files'
    open files (-n) 10240


     

    [root@MySQL_Proxy ~]# /usr/local/mysql-proxy/bin/mysql-proxy -P 192.168.1.250:3306 -b 192.168.1.27:3306 -r 192.168.1.215:3306 -r 192.168.1.66:3306 -s /usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua --daemon
    2014-02-13 17:15:54: (critical) plugin proxy 0.8.4 started


     

    [root@MySQL_Proxy ~]# netstat -tnlp |grep :3306
    tcp 0 0 192.168.10.137:3306 0.0.0.0:* LISTEN 16620/mysql-proxy


     

    [root@MySQL_Proxy ~]# vim /etc/rc.local
    ulimit -n 10240
    /usr/local/mysql-proxy/bin/mysql-proxy -P 192.168.1.250:3306 -b 192.168.1.27:3306 -r 192.168.1.215:3306 -r 192.168.1.66:3306 -s /usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua --daemon




    三、测试
    1. 主库

    mysql> grant ALL on bbs.* to bbs@'192.168.1.%' identified by 'localhost';
    mysql> flush privileges;
    
    mysql> create database bbs;
    mysql> create table bbs.t1 (name varchar(50));



    2. 备库
    mysql> stop slave; //暂时断掉和主库的连接

    3. 从客户端测试
    a. 读 ====主 or 备
    b. 写 ====主

    4. 备库
    mysql> start slave;
    =======================================================

  • 相关阅读:
    信号灯的典型应用
    字符串过滤
    做一些学习的事情一定要坚持下去
    昨天的你造就今天的你,今天的你准备怎么造就明天的你呢?
    vue中计算属性,方法,侦听器
    vue模板语法
    Vue实例的生命周期钩子
    VUE实例
    简单的组件间传值
    前端组件化
  • 原文地址:https://www.cnblogs.com/heian99/p/11972273.html
Copyright © 2011-2022 走看看