zoukankan      html  css  js  c++  java
  • mysqlproxy完成mysql读写分离

    前不久做了下mysql读写分离的实验,也参考了很多的资料,谢谢哪些提供资料的兄弟.

    环境:   192.168.100.210
             192.168.100.104  
             192.168.100.208   
             192.168.100.106

    说明:  210,104作为mysql数据库.
          208作为mysql-proxy.
          106作为测试机器.

    相关软件下载:
        lua        
    www.lua.org
         mysql-proxy   
    http://mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-Proxy/

    1. 在208上安装lua
      
       #tar zxvf  lua-5.1.4.tar.gz  -C  /usr/local
       # cd /usr/local
       #mv lua-5.1.4 lua
       #cd lua
       #make                //make之后可以看到系统列表,下面的
                              命令要用到
       #make linux         //我这里是linux
                            
       #make install

    2.安装mysql-proxy

      # tar -zxvf mysql-proxy-0.6.0-linux-rhas4-x86.tar.gz -C /usr/local/
      # cd /usr/local/
      # mv mysql-proxy-0.6.0-linux-rhas4-x86  mysql-proxy
      # export PATH=$PATH:/usr/local/mysql-proxy/sbin/  
      #mysql-proxy --proxy-read-only-backendaddresses=192.168.100.210:3306
      --proxy-backend-addresses=192.168.100.104:3306
      --proxy-lua-script=/home2/mysql-proxy-0.6.0-linux-rhas4-x86/share/mysql-proxy/rw-splitting.lua &


    3.在210,104上设置权限
        mysql> grant all privileges on backup.* to
    [email=backup@'%']backup@'%'[/email]
    identified by 'shenxun';   
              //这里给个账号backup,密码shenxun,读写操作的数据库是backup.

    4.进行测试.

        用106连接208的mysql-proxy:
          
       /usr/bin/mysql -u backup -pshenxun –P4040 –h 192.168.100.208 –D backup

    创建一个表
       
       Create  table haha(id int,name char(6));

    然后我们到210和104上去看下数据库的情况,看到210是没有刚才
    写入的数据库表,而104是有刚才写入的数据表的.
    现在我们把上面的命令修改下
       
       mysql-proxy --proxy-backend-addresses=192.168.100.210:3306 --proxy-backend-   addresses=192.168.100.104:3306 --proxy-lua-script=/home2/mysql-proxy-0.6.0-linux-rhas4-      x86/share/mysql-proxy/rw-splitting.lua &

    然后我们在208上再重新建个表
      
        Create  table xixi(id int,name char(6));
    这个时候再到210和104上去看下数据库的情况,发现2个数据库都有刚才写入的数据
    库表.
    可以充分说明我们的数据库读写分离已经实现了.
  • 相关阅读:
    php
    nginx
    docker
    pyenv 配置python虚拟环境
    [运维笔记] Nginx编译安装
    [运维笔记] Mysql单库备份脚本
    BurpSuite Intruder 4种攻击模式
    java判断一个单向链表是否有环路
    二分查找(递归和非递归)
    反转链表算法题
  • 原文地址:https://www.cnblogs.com/top5/p/1569382.html
Copyright © 2011-2022 走看看