广告
返回顶部
首页 > 资讯 > 数据库 >Mysql数据库读写分离
  • 694
分享到

Mysql数据库读写分离

2024-04-02 19:04:59 694人浏览 独家记忆
摘要

(先对数据库操作进行读写分离,使得具有master角色的主服务器主要用于执行写操作,这样就能大大减少主服务器由于读操作而产生的负载过大的问题。读交给slave。对于多台读服务器,还要把读操作的压力分摊到不同

Mysql数据库读写分离

Mysql数据库读写分离


Mysql数据库读写分离

(先对数据库操作进行读写分离,使得具有master角色的主服务器主要用于执行写操作,这样就能大大减少主服务器由于读操作而产生的负载过大的问题。读交给slave。对于多台读服务器,还要把读操作的压力分摊到不同的slave服务器上。通常来说,读写分离和多台slave服务器的读负载均衡也是两个不同的问题,也要分别进行解决。先读写分离,再将读操作平均分摊到各slave服务器)

Redis和memcache差距不大,还具有更多的数据类型,还能持久化,主从复制,集群等功能


Mysql数据库读写分离

Mysql数据库读写分离

(比如库存的查询就必须在主库上进行,如果从库上就可能出现超卖的情况。因此,不是什么查询都要进行读写分离的。所以,由开发人员自行判断比较灵活)


还可以通过数据库中间层完成读写分离(如Mysql proxy、maxscale、one proxy、proxysql等):

Mysql数据库读写分离

Mysql数据库读写分离

Mysql数据库读写分离

(通过中间层对sql语句的解析,如果是select操作,则发送到从服务器处理,非select操作,全发送到主服务器处理。对于存储过程这种无法通过调用语法分析出是读操作还是写操作的sql就只能全部由主数据库服务器去完成。由于存储过程可能很大一部分只是进行查询处理,这无疑加大了主数据库服务器的负载。虽然使用中间层很方便,但也会付出一些代价)

(由于读写分离是通过中间层自动进行的,而中间层无法区分哪些是对延迟敏感的,哪些不敏感,所以无法把对延迟敏感的查询自动分配到主库上执行,而要实现这些功能就要在查询语句中加入提示的关键字,而增加提示不得不对原来程序进行修改,这样就失去了对程序透明的好处了)


常用的读服务器负载均衡方式:

Mysql数据库读写分离


对于数据库服务器来说,读负载和写负载是两个完全不同的问题,所以,对于读负载和写负载要分开对待,因为写操作只能在master上进行,而读操作可以在master上,也可以在slave上,因此,相对写负载,解决读负载更加容易。

Mysql数据库读写分离

(lvs是工作在网络协议的四层上的,只进行流量分发,不会对数据包内容进行解析,性能强,对内存和cpu消耗低,当然,由于不会对数据进行解析,所以也不会知道数据包中sql的具体内容,自然不能做读写分离

(lvs只分发请求,流量并不从他本身出去,所以无流量消耗,这点就保障了io性能不会受到大流量影响)

Mysql数据库读写分离


Mysql数据库读写分离


主从复制流程就不贴出来了...


在.100和.101服务器都安装lvs管理工具

Mysql数据库读写分离

加载ipvs模块(所有参加lvs集群的三台服务器都要安装):

Mysql数据库读写分离

lvs脚本的编写:

        先看下slave(.101服务器)上的脚本:

                Mysql数据库读写分离

                Mysql数据库读写分离

                (注意,这个脚本要有可执行权限)

                执行脚本:

                Mysql数据库读写分离

                查看:

                Mysql数据库读写分离

        同样在.102上也要执行:

                Mysql数据库读写分离

                查看:

                Mysql数据库读写分离

        .100上的keepalived配置:

                Mysql数据库读写分离

                Mysql数据库读写分离

                查看check_slave脚本:

                Mysql数据库读写分离

                Mysql数据库读写分离

                ......

        .100上建立lvs可操作的账号:

                Mysql数据库读写分离

                

        未完待续......

您可能感兴趣的文档:

--结束END--

本文标题: Mysql数据库读写分离

本文链接: https://www.lsjlt.com/news/43050.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Mysql数据库读写分离
    (先对数据库操作进行读写分离,使得具有master角色的主服务器主要用于执行写操作,这样就能大大减少主服务器由于读操作而产生的负载过大的问题。读交给slave。对于多台读服务器,还要把读操作的压力分摊到不同...
    99+
    2022-10-18
  • MySQL数据库之读写分离
    一、概述:    MySQL数据库主从结构配置以后,正常情况下数据库的所有读写操作全部都在主数据库上面,从数据库仅仅作为数据备份使用,显然无法有效的使用服务器资源,那...
    99+
    2022-10-18
  • MySQL-数据库读写分离(中)
    ♥️作者:小刘在C站 ♥️个人主页: 小刘主页  ♥️努力不一定有回报,但一定会有收获加油!一起努力,共赴美好人生! ♥️学习两年总结出的运维经验,以及思科模拟器全套网络实验教程。专栏:云计算技术 ♥️小刘私信可以随便问,只要会...
    99+
    2023-08-31
    数据库 mysql sql
  • 数据库---mysql主从复制读写分离
    http://m.open-open.com/m/lib/view/1413274853450.html 原理及架构分析部署前准备下载好源码包存放位置要与脚本中对应  mysql-5.5...
    99+
    2022-10-18
  • Mysql数据库读写分离简单配置
    环境:Master:192.168.71.128      mysql-sql-node1Slave:192.168.71.140 &n...
    99+
    2022-10-18
  • 使用Atles实现MySQL数据库读写分离
    本文主要给大家简单讲讲使用Atles实现MySQL数据库读写分离,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望使用Atles实现MySQL数据库读写分离这篇...
    99+
    2022-10-18
  • MySQL数据库主从复制与读写分离
    目录一.主从复制主从复制三线程主从复制的过程:主从复制的策略:主从复制高延迟二.读写分离读写分离概念读写分离原因与场景总结一.主从复制        主从复制:在实际的生产中,为了解...
    99+
    2022-11-12
  • Amoeba实现数据库读写分离
    一 环境以及软件版本:系统:CentOS Linux release 7.2.1511 (Core)mysql:Server version: 5.6.33Amoeba:amoeba-mysql-3.0.5...
    99+
    2022-10-18
  • 怎么做数据库读写分离
    这篇文章主要讲解了“怎么做数据库读写分离”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么做数据库读写分离”吧!实现方式对于读写分离的使用,主要分为两种方式...
    99+
    2022-10-18
  • 关系型数据库之mysql-proxy实现读写分离
    简要:  mysql-proxy作为mysql测试项目,可以实现读写分离架构,具有开发能力的公司通过二次开发的方式去完善bug应用在生产环境中,下面我们通过案例使用mysql-proxy实现读写分...
    99+
    2022-10-18
  • mysql数据库多种备份及读写分离搭建
    数据库的版本1.社区版2.企业版3.集群版数据库的安装1.     专用软件包管理器(二进制)deb 、rpm等mysql   &nbs...
    99+
    2022-10-18
  • 如何利用mycat实现mysql数据库读写分离
    这篇文章主要介绍了如何利用mycat实现mysql数据库读写分离,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。什么是MyCAT一个彻底开源的...
    99+
    2022-10-18
  • MySQL-mycat读写分离
    Mycat 需要安装JDK 1.7 或者以上版本第一步:下载jdk-8u131-linux-x64.tar.gz文件 http://haixi.sfkcn.com:8080/201704/tools/jdk-linux-x64.tar.gz...
    99+
    2021-04-03
    MySQL-mycat读写分离 数据库入门 数据库基础教程 数据库 mysql
  • mysql+amoeba读写分离
    mysql+amoeba读写分离一 简介:Amoeba是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy。它集中地响应应用的请求,依据用户事先设置的规则,将SQL请求发送到特定的数...
    99+
    2022-10-18
  • 利用amoeba(变形虫)实现mysql数据库读写分离
    前期准备工作: 1.两个数据库,一主一从,主从同步; master: 172.22.10.237:3306 ;主库负责写入操作; slave: 10.4.66.58:3306 ; 从库负责读取操作; amoeba: 172.22.10.23...
    99+
    2015-09-22
    利用amoeba(变形虫)实现mysql数据库读写分离
  • MySQL数据库的主从同步配置与读写分离
    使用mysql主从复制的好处有: 1、采用主从服务器这种架构,稳定性得以提升。如果主服务器发生故障,我们可以使用从服务器来提供服务。 2、在主从服务器上分开处理用户的请求,可以提升数据处理效率。 3、将主服...
    99+
    2022-10-18
  • 利用amoeba实现mysql数据库读写分离的案例
    小编给大家分享一下利用amoeba实现mysql数据库读写分离的案例,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!关于mysql的读写分离架构有很多,百度的话几乎都是用mysql_prox...
    99+
    2022-10-18
  • ProxySQL中怎么利用MySQL实现数据库读写分离
    ProxySQL中怎么利用MySQL实现数据库读写分离,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。ProxySQL介绍1、连接池,而且是mu...
    99+
    2022-10-18
  • mysql数据库中怎么利用mycat实现读写分离
    这期内容当中小编将会给大家带来有关mysql数据库中怎么利用mycat实现读写分离,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、部署mycat下载 [root@myc...
    99+
    2022-10-18
  • 配置数据库读写分离服务器
    配置一主一从 主从同步结构,并在客户端测试配置master51> grant all on webdb.* to webuser@"%" identified by &...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作