准备两台mysql服务器,master(192.168.43.64)、slave(192.168.84.129)

master配置:

log-bin=mysql-bin
binlog_format=mixed
server_id=
binlog_checksum=none

slave配置:

然后给master授权并查看二进制文件名称和位置:

进入从服务器执行如下sql并开启slave、查看slave状态:

change master to  master_host='192.168.43.64' ,master_user='root' ,master_password='' ,master_log_file='mysql-bin.000032' ,master_log_pos=;

最后验证主从配置:

问题总结:

  1、两个主从mysql要能远程登录,否则相互无法配置成功。

  2、由于mysql5以前有binlog-checksum,导致主从配置失败,在配置文件中加binlog_checksum=none后重启mysql服务。

    

读写分离的实现:

下载mysql-proxy,安装缺少的vc库,在mysql-proxy文件夹中创建mysql-proxy.cnf配置文件。如下所示:

[mysql-proxy]
admin-username=root
admin-password=root
admin-lua-script=D:/BtSoft/WebSoft/mysql-proxy/lib/mysql-proxy/lua/admin.lua
proxy-backend-addresses=192.168.43.64:
proxy-read-only-backend-addresses=192.168.84.129:
proxy-lua-script=D:/BtSoft/WebSoft/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua
log-file=D:/BtSoft/WebSoft/mysql-proxy/mysql-proxy.log
log-level=debug
daemon=true
keepalive=true

参数介绍如下:

   admin-username:用于中间件连接的用户,这里我还是用root偷懒
   admin-password:同上用户密码
   admin-lua-script:根据存放的文件位置自行调整
   proxy-backend-addresses:主库服务器+端口
   proxy-read-only-backend-addresses:从库服务器+端口,多个从库用,隔开    
   proxy-lua-script:根据存放的文件位置自行调整
   log-file:日志文件存放位置,如果你指定了一个路径,请确保手动创建了对应的文件夹,否则会报错
   log-level:日志级别
   daemon:以守护进程方式运行
   keepalive:长连接

修改rw-splitting.lua中的4改为1,#默认超过4个连接数时,才开始读写分离

if not proxy.global.config.rwsplit then
proxy.global.config.rwsplit = {
min_idle_connections = ,
max_idle_connections = ,
is_debug = false
}
end

打开cmd输入命令:

D:\BtSoft\WebSoft\mysql-proxy\bin\mysql-proxy -P 192.168.43.64: --defaults-file=D:\BtSoft\WebSoft\mysql-proxy\mysql-proxy.conf

执行结果:

出现上图则说明mysql-proxy配置成功。

验证是否成功读写分离:

1.连接mysql-proxy

插入一条数据到mysql-proxy中,如图

在从服务器查看,如图:

Mysql 之主从复制,mysql-proxy读写分离的更多相关文章

  1. 基于mysql主从同步的proxy读写分离

    mysql-proxy 简介 MySQL Proxy是一个处于你的client端和MySQL server端之间的简单程序,它可以监测.分析或改变它们的通信.它使用灵活,没有限制,常见的用途包括:负载 ...

  2. Mysql主从配置,实现读写分离

    大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢 ...

  3. 黄聪:Mysql主从配置,实现读写分离

    大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢 ...

  4. MySql 主从复制 mysql-proxy实现读写分离

    1.安装和配置Docker 服务器版本阿里云CentOS7.4 docker版本18.06.0-ce docker安装步骤https://docs.docker.com/install/linux/d ...

  5. linux上使用amoeba实现MySql集群,以及读写分离,主从复制

    一.由于是MySql集群,所以就不可能只有一个MySql,需要多个MySql,具体安装步骤,可以参考http://www.cnblogs.com/ywzq/p/4882140.html这个地址进行安装 ...

  6. MySQL主从复制 + Mycat实现读写分离

    说明:两台MySQL服务器都是使用CentOS6.5系统,MySQL版本为mysql-5.7.17 MySQL一主一被实现主从复制 注意:写包括insert,delete,update 操作:读只有s ...

  7. Linux MySQL Proxy 读写分离

    导读 因为读写分离是建立在MySQL集群主从复制的基础上,还不了解的,先看我另一篇博客:点我直达 MySQL-Proxy简介 mysql-proxy是mysql官方提供的mysql中间件服务,上游可接 ...

  8. MySQL主从复制与Atlas读写分离

    配置主从复制 1. 增加主从配置 # 主库配置文件 server-id = 1 log-bin = /var/lib/mysql/mysql-bin expire_logs_days = 10 ski ...

  9. 利用中间件 mysql_proxy 完成 mysql 的负载均衡和读写分离

      安装 mysql_proxy       cd /usr/local/src       wget http://mysql.cdpa.nsysu.edu.tw.Downloads/MySQL - ...

随机推荐

  1. srvctl error

    Hit an strange error just now. [oracle@racnode1 ~]$ srvctl # # An unexpected error has been detected ...

  2. 一个JS多个数组取交集算法

    如题,多个数组中取交集(共同拥有元素),思路取第一个数组去跟每个数组中的元素对比,同时比较数据类型有救返回没有就返回null. 下面介绍到的算法数据格式是二维数组如: const parentArra ...

  3. 【poj 1724】 ROADS 最短路(dijkstra+优先队列)

    ROADS Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 12436 Accepted: 4591 Description N ...

  4. 小贝_mysql sql语句优化过程

    sql语句优化 一.SQL优化的一般步骤 (1).通过show status命令了解各种SQL的运行频率. (2).定位运行效率较低的SQL语句-(重点select) (3).通过explain分析低 ...

  5. 【Aladdin Unity3D Shader编程】之二 光照模型(一)

    光照模型 光照模型就是一个公式,使用这个公式来计算在某个点的光照效果. 在标准光照模型里面,我们把进入摄像机的光分为下面四个部分: 自发光 类似生活中的萤火虫等自己能够发光 高光反射 类似生活中的镜子 ...

  6. 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 数据库连接不释放测试 连接池 释放连接 关闭连接 有关 redis-py 连接池会导致服务器产生大量 CLOSE_WAIT 的再讨论以及一个解决方案

    import pymysqlfrom redis import Redisimport time h, pt, u, p, db = '192.168.2.210', 3306, 'root', 'n ...

  7. kafka01

    消息队列松耦合 消息队列

  8. 理解SetCapture、ReleaseCapture、GetCapture(控制了消息发往哪个窗口,即消息窗口)

    理解SetCapture.ReleaseCapture.GetCapture 正常情况下,鼠标指针位于哪个窗口区域内,鼠标消息就自动发给哪个窗口.如果调用了SetCapture,之后无论鼠标的位置在哪 ...

  9. Xcode 设置图片全屏显示

    - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typica ...

  10. SPOJ - QMAX3VN (4350) splay

    SPOJ - QMAX3VN 一个动态的序列 ,在线询问某个区间的最大值.关于静态序列的区间最值问题,用ST表解决,参考POJ 3264 乍一看上去 splay可以轻松解决.书上说可以用块状链表解决, ...