mysql proxy 主从复制 读写分离

6 篇文章 0 订阅
2 篇文章 0 订阅

背景:redhat5.下载的mysql proxy 是最新的0.8.5免安装版

首先要做主从复制

主数据库:

vi /etc/my.cnf
       [mysqld]
       log-bin=mysql-bin   //[必须]启用二进制日志
       server-id=244      //[必须]服务器唯一ID,默认是1,一般取IP最后一段

          binlog-do-db = mydb //指定你要同步的数据库

binlog-ignore-db=test //不记录binlog
replicate-ignore-db=test //不复制test库的binlog

从数据库:

vi /etc/my.cnf
       [mysqld]
       server-id=214      //[必须]服务器唯一ID,默认是1,一般取IP最后一段


然后重启两台数据库。

可以通过mysql>show variables like 'log_%'; 验证二进制日志是否已经启动。


在主数据库上创建一个同来同步的帐号

GRANT REPLICATION SLAVE ON *.* TO ‘slave’@’从服务器ip‘ IDENTIFIED BY ‘slave’


查看主数据库的二进制日志及偏移量(二进制文件最新位置)

show master status\G;

File: mysql-bin.000003

Position: 243

Binlog_Do_DB:mydb

Binlog_Ignore_DB:

1 row in set (0.00 sec)

=============================================================

建议在同步数据库的时候使用用具同步。navicat就有这个功能。因为在使用sql同步的时候我发现同步后这两个数据库大小不一致(还是用工具靠谱些)

然后在从服务器上

change master to
    -> master_host='主服务器ip',
    -> master_user='同步帐号',
    -> master_password='密码',
    -> master_log_file='mysql-bin.000004',//二进制文件名
    -> master_log_pos=595; //偏移量


启动slave进程:start slave;

查看slave进程状态:SHOW SLAVE STATUS\G;

如果里面的这两个都是yes 。并且没有错误的话这个就算成了。

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

然后在主服务器上执行增删改操作,看从服务器是否跟着有变化。有的话就确定成了。


mysql proxy 读写分离

去官网下载最新的。我下载的是0.8.5。日了狗了!这个和以前的不太一样

这个不用编译直接运行

mysql-proxy-0.8.5-linux-glibc2.3-x86-64bit.tar.gz。

在usr/local/下创建一个mysql-proxy 文件夹。然后解压进去。也可以直接解压到usr/local下。然后把文件夹改个名字

然后在这个目录下面创建一个 mysql-proxy.conf.

配置如下:

[mysql-proxy]
proxy-address=192.168.0.214:4040 #注册监听ip和端口 不写也行
log-level=debug #日志级别
daemon=true #是否以daemon模式启动
keepalive=true #保持心跳
admin-username=root #用户名 用户名和密码要和mysql 的 用户名密码保持一致
admin-password=admin #密码
admin-lua-script=./lib/mysql-proxy/lua/admin.lua
proxy-read-only-backend-addresses=192.168.0.214:3306 #只读从服务器地址
proxy-backend-addresses=192.168.0.244:3306 #主服务器地址
proxy-lua-script=./share/doc/mysql-proxy/rw-splitting.lua
log-file=./mysql-proxy.log #日志文件位置

====配置文件完========================================================


vi doc/mysql-proxy/rw-splitting.lua

  1. if not proxy.global.config.rwsplit then  
  2.         proxy.global.config.rwsplit = {  
  3.                 min_idle_connections = 4,  
  4.                 max_idle_connections = 8,  
  5.   
  6.                 is_debug = false  
  7.         }  
  8. end  
将4 和 8 可以在调试的时候改成 1

保存


启动

/usr/local/mysql-proxy/libexec/mysql-proxy --defaults-file=./mysql-proxy.conf



登录进去 mysql -h在配置文件里的注册地址 -P4040 -uroot -p


然后继续增删改。同时查看两个数据库是否同步。

同步的话就over了


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值