前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >如何实现MySQL读写分离?

如何实现MySQL读写分离?

作者头像
吴柯
发布于 2018-04-16 06:52:38
发布于 2018-04-16 06:52:38
1.5K0
举报

一:部署mysql-proxy代理服务器

1)安装mariadb官方提供的maxscale软件包

# rpm -ivh maxscale-2.1.2-1.rhel.7.x86_64.rpm # vim /etc/maxscale.cnf

  • [maxscale]
  • threads=1
  • [server1] #指定ip地址对应的名字
  • type=server
  • address=192.168.4.10 #主数据库服务器ip地址
  • port=3306
  • protocol=MySQLBackend
  • [server2] #指定ip地址对应的名字
  • type=server
  • address=192.168.4.20 #从数据库服务器ip地址
  • port=3306
  • protocol=MySQLBackend
  • [MySQL Monitor] #指定要监控的主机 和监控时连接的用户
  • type=monitor
  • module=mysqlmon
  • servers=server1, server2 #前边定义的主机名
  • user=scalemon # 用户名
  • passwd=111111 # 密码
  • monitor_interval=10000
  • #[Read-Only Service]
  • #type=service
  • #router=readconnroute
  • #servers=server1
  • #user=myuser
  • #passwd=mypwd
  • #router_options=slave
  • [Read-Write Service] #定义服务器列表
  • type=service
  • router=readwritesplit
  • servers=server1, server2 #前边定义的主机名
  • user=maxscale # 用户名
  • passwd=111111 # 密码
  • max_slave_connections=100%
  • [MaxAdmin Service]
  • type=service
  • router=cli
  • #[Read-Only Listener]
  • #type=listener
  • #service=Read-Only Service
  • #protocol=MySQLClient
  • #port=4008
  • [Read-Write Listener]
  • type=listener
  • service=Read-Write Service
  • protocol=MySQLClient
  • port=4006

1)分别在主、从数据库服务器上添加授权用户(只在主服务器授权即可 从服务器会自动同步):

mysql> grant replication slave, replication client on *.* to scalemon@'%' identified by “111111”; //创建监控用户

mysql> grant select on mysql.* to maxscale@'%' identified by “111111”; //创建路由用户

mysql> grant all on *.* to student@'%' identified by “111111”; //创建客户端访问用户

2)启动maxscale服务

# maxscale --config=/etc/maxscale.cnf # netstat -utnalp | grep maxscale # kill -9 进程id //通过杀进程的方式停止服务

二:测试配置

1)在客户端192.168.4.120上使用上边授权用户student 连接代理服务器192.168.4.100:

# mysql -h192.168.4.100 -P4006 -ustudent -p111111 MySQL [(none)]> select @@hostname; //显示当前访问的主机

MySQL [(none)]> insert into bbsdb.a values(111);//插入新纪录

2)在主从数据库分别查看

...

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-09-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 吴柯的运维笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Mysql服务器企业实战
MySQL属于传统的关系型数据库产品,其开放式的架构使得用户的选择性很强,而且随着技术的逐渐成熟,MySQL支持的功能也越来越多,性能也在不断地提高,对平台的支持也在增多,此外,社区的开发与维护人数也很多。当下,MySQL因为其功能稳定、性能卓越,且在遵守GPL协议的前提下,可以免费使用与修改,因此深受用户喜爱。
用户1570500
2024/10/06
1260
基于maxscale的读写分离部署笔记
使用maxscale搭建的读写分离架构,后期还可以再结合MHA做master的故障转移,这样业务层面上不需要做任何的改动即可。
保持热爱奔赴山海
2019/09/18
1.9K0
基于maxscale的读写分离部署笔记
MariaDB主从配置与MaxScale实现MySQL读写分离
maxscale是mariadb公司开发的一套数据库中间件,可以很方便的实现读写分离方案;并且提供了读写分离的负载均衡和高可用性保障。另外maxscale对于前端应用而言是透明的,我们可以很方便的将应用迁移到maxscale中实现读写分离方案,来分担主库的压力。maxscale也提供了sql语句的解析过滤功能。
星哥玩云
2022/08/18
2.6K0
Mysql 读写分离中间件 MaxScale
MaxScale 是干什么的? 配置好了 Mysql 的主从复制结构后,我们希望实现读写分离,把读操作分散到从服务器中,并且对多个从服务器能实现负载均衡 读写分离和负载均衡是 Mysql 集群的基础需
dys
2018/04/03
2.1K0
Mysql 读写分离中间件 MaxScale
【DB宝42】MySQL高可用架构MHA+ProxySQL实现读写分离和负载均衡(上)
之前发过一篇MHA的文章,介绍了MHA相关的知识和功能测试,连接为:【DB宝19】在Docker中使用MySQL高可用之MHA 。今天这一篇给大家分享一下“MHA+中间件ProxySQL”来实现读写分离+负载均衡的相关知识。
AiDBA宝典
2021/03/08
6420
【DB宝42】MySQL高可用架构MHA+ProxySQL实现读写分离和负载均衡(上)
MYSQL-3m架构回顾
                Master-Master replication manager for Mysql
py3study
2020/01/08
1.1K0
企业实战(10)基于Maxscale中间件实现Mysql读写分离实战
 读写分离的基本原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。一般来说都是通过 主从复制(Master-Slave)的方式来同步数据,再通过读写分离(MySQL-Proxy)来提升数据库的并发负载能力这样的方案来进行部署与实施的。
非著名运维
2022/06/22
6220
企业实战(10)基于Maxscale中间件实现Mysql读写分离实战
关于Linux下MySQL主备集群负载均衡之读写分离(MaxScale)的一些记笔
从集群角度考虑,MySQL做主备集群复制如果只用作备份,有些浪费,和负载均衡结合使用一种相辅相成的作用。
山河已无恙
2023/01/30
1.2K0
关于Linux下MySQL主备集群负载均衡之读写分离(MaxScale)的一些记笔
(10) 如何MySQL读压力大的问题
读写分离时,需要注意,对于实时性要求比较高的数据,不适合在从库上查询(因为主从复制存在一定延迟(毫秒级)),比如库存就应该在主库上查询,如果放在从库上查询,可能会存在超卖的情况
用户1214487
2019/05/25
8260
技术分享 | MaxScale 实现 MySQL读写分离
MaxScale 是由 MariaDB 官方出品的一款开源数据库中间件,其插件是插拔式的,而且可以定制化开发属于自己的插件,使用非常的灵活自由,目前官方提供了例如监控、高可用、读写分离、防火墙等插件。其中高可用和监控插件相互配合可以实现 MariaDB 的 Failover 、Switchover 、autoRejoin 功能,并在故障转移时可以自动进行数据补偿,不过遗憾的是由于 MySQL 的 GTID 构成方式和 MariaDB 的差异性,目前 MySQL 无法使用其高可用功能。不过可以使用其读写分离功能。
爱可生开源社区
2022/10/11
1.3K0
使用MySQL Router实现高可用、负载均衡、读写分离
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wzy0623/article/details/81103469
用户1148526
2019/05/25
4K0
MaxScale binlog server的搭建
https://mariadb.com/resources/blog/binlog-server
保持热爱奔赴山海
2019/09/18
9240
MaxScale binlog server的搭建
proxy SQL实现MySQL主从读写分离
ProxySQL 是一款可以实际用于生产环境的 MySQL 中间件,它有官方版和 percona 版两种。percona版是在官方版的基础上修改的,添加了几个比较实用的工具。本文以官方版本为例。
互联网-小阿宇
2022/11/21
1.6K0
proxy SQL实现MySQL主从读写分离
Amoeba 实现MySQL读写分离
Amoeba是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy,它集中地响应应用的请求,依据用户事先设置的规则,将SQL请求发送到特定的数据库上执行.基于此可以实现负载均衡、读写分离、高可用性等需求,与MySQL官方的MySQL Proxy相比,作者强调的是amoeba配置的方便.
王瑞MVP
2022/12/28
7110
读写分离中间件 MaxScale 在 slave 有故障后如何处理?
之前介绍了 MaxScale 可以实现 Mysql 的读写分离和读负载均衡,那么当 slave 出现故障后,MaxScale 会如何处理呢? 例如有 3 台数据库服务器,一主二从的结构,数据库名称分别为 master, slave1, slave2 现在我们实验以下两种情况 (1)当一台从服务器( slave1 或者 slave2 )出现故障后,查看 MaxScale 如何应对,及故障服务器重新上线后的情况 (2)当两台从服务器( slave1 和 slave2 )都出现故障后,查看 MaxScale 如何
dys
2018/04/03
1.9K0
读写分离中间件 MaxScale 在 slave 有故障后如何处理?
MySQL读写分离(ProxySQL)
读写分离就是用户在发送请求时,请求经过中间件,中间件将请求中的读和写操作分辨出来将读请求发送给后端的从服务器,将写请求发送给后端的主服务器,再又主服务器通过主从复制将数据复制给其他从服务器
Java帮帮
2019/05/17
6.3K0
MySQL读写分离(ProxySQL)
Proxy实现mysql读写分离
ProxySQL 是一款可以实际用于生产环境的 MySQL 中间件,它有官方版和 percona 版两种。percona版是在官方版的基础上修改的,添加了几个比较实用的工具。生产环境建议用官方版。
全栈程序员站长
2022/07/25
2.3K0
Proxy实现mysql读写分离
CentOS 7.4下MySQL+Amoeba实现主从同步读写分离
CentOS 7.4环境下MySQL+Amoeba实现主从同步读写分离的详细过程。
星哥玩云
2022/08/16
6670
CentOS 7.4下MySQL+Amoeba实现主从同步读写分离
通过MariaDB MaxScale 实现一份数据同时写入 MongoDB 和 MySQL,建立双写机制。
MariaDB MaxScale的NoSQL协议模块是一个强大而独特的功能,它允许使用
贺春旸的技术博客
2024/09/09
2210
通过MariaDB MaxScale 实现一份数据同时写入 MongoDB 和 MySQL,建立双写机制。
5 大主流方案对比:MySQL 千亿级数据线上平滑扩容实战
在项目初期,我们部署了三个数据库A、B、C,此时数据库的规模可以满足我们的业务需求。为了将数据做到平均分配,我们在Service服务层使用uid%3进行取模分片,从而将数据平均分配到三个数据库中。
民工哥
2024/04/02
6930
5 大主流方案对比:MySQL 千亿级数据线上平滑扩容实战
推荐阅读
相关推荐
Mysql服务器企业实战
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文