zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

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

mysql 通过 完成 读写 分离 Proxy
2023-06-13 09:15:26 时间
环境:  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

  #tarzxvf  lua-5.1.4.tar.gz  -C  /usr/local
  #cd/usr/local
  #mvlua-5.1.4lua
  #cdlua
  #make          //make之后可以看到系统列表,下面的
                  命令要用到
  #makelinux      //我这里是linux

  #makeinstall

2.安装mysql-proxy

  #tar-zxvfmysql-proxy-0.6.0-linux-rhas4-x86.tar.gz-C/usr/local/
  #cd/usr/local/
  #mvmysql-proxy-0.6.0-linux-rhas4-x86  mysql-proxy
  #exportPATH=$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>grantallprivilegesonbackup.*to
[email=backup@"%"]backup@"%"[/email]
identifiedby"shenxun";  
      //这里给个账号backup,密码shenxun,读写操作的数据库是backup.

4.进行测试.

  用106连接208的mysql-proxy:

  /usr/bin/mysql-ubackup-pshenxun?P4040?h192.168.100.208?Dbackup

创建一个表

  Create  tablehaha(idint,namechar(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  tablexixi(idint,namechar(6));
这个时候再到210和104上去看下数据库的情况,发现2个数据库都有刚才写入的数据
库表.
可以充分说明我们的数据库读写分离已经实现了