通过mysql-proxy完成mysql读写分离

 更新时间:2014年05月16日 00:06:42   作者:  
前不久做了下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个数据库都有刚才写入的数据
库表.
可以充分说明我们的数据库读写分离已经实现了

相关文章

  • Mysql中的事务是什么如何使用

    Mysql中的事务是什么如何使用

    事务是逻辑上的一组操作,组成这组操作的各个单元,要不全都成功要不全都失败,这个特性就是事务,下面为大家介绍下Mysql中的事务的具体使用
    2013-12-12
  • MySQL查询出现1055错误的原因及解决方法

    MySQL查询出现1055错误的原因及解决方法

    Mysql在使用过程中经常遇到错误,都是本人在实际应用中处理检验过的,本文对常见错误出现的代码进行详细分析,下面这篇文章主要给大家介绍了关于MySQL查询出现1055错误的原因及解决方法,需要的朋友可以参考下
    2023-05-05
  • MySQL创建数据表时设定引擎MyISAM/InnoDB操作

    MySQL创建数据表时设定引擎MyISAM/InnoDB操作

    这篇文章主要介绍了MySQL创建数据表时设定引擎MyISAM/InnoDB操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • Mysql在线安全变更工具 gh-ost的使用

    Mysql在线安全变更工具 gh-ost的使用

    gh-ost是一个用于在线安全地进行MySQL数据库表结构变更的工具,它可以在不中断业务的情况下进行表结构的修改,具有一定的参考价值,感兴趣的可以了解一下
    2025-02-02
  • MySQL decimal unsigned更新负数转化为0

    MySQL decimal unsigned更新负数转化为0

    这篇文章主要介绍了MySQL decimal unsigned更新负数转化为0,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • Mysql超详细讲解死锁问题的理解

    Mysql超详细讲解死锁问题的理解

    又到了金三银四的时候,大家都按耐不住内心的躁动,我在这里给大家分享下之前面试中遇到的一个知识点(死锁问题),如有不足,欢迎大佬们指点指点
    2022-03-03
  • MySQL锁的知识点总结

    MySQL锁的知识点总结

    在本篇文章里小编给大家整理了关于MySQL锁的知识点总结以及实例内容,需要的朋友们学习下。
    2019-11-11
  • MySQL和连接相关的timeout 的详细整理

    MySQL和连接相关的timeout 的详细整理

    这篇文章主要介绍了MySQL和连接相关的timeout 的详细整理的相关资料,本文主要总结下和连接有关的timeout,需要的朋友可以参考下
    2017-08-08
  • MySQL 8.0.13 下载安装教程图文详解

    MySQL 8.0.13 下载安装教程图文详解

    这篇文章主要介绍了MySQL 8.0.13 下载安装教程,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-11-11
  • MySQL中必须了解的13个关键字总结

    MySQL中必须了解的13个关键字总结

    这篇文章主要为大家详细介绍了MySQL中必须了解学会的13个关键字,文中的示例代码简洁易懂,对我们掌握MySQL有一定的帮助,需要的可以了解下
    2023-09-09

最新评论