比如 我有主的1台mysql服务器,俩从服务服务器 外加一个负载均衡器(如果把负载均衡器非常简单的来说话其实就DNS的转发,非常简单来说,其实 IP的轮换嘛)

我读数据的也就(查询)数据 也就(Select)语句时候,我只是在 仨台从服务器中读取数据

主服务器负责(增,删,改)这个一系列操作

顺便唠叨一下, 为啥 Select 我们建仨服务器或者多个呢?

因为距统计,大概B/S架构70%以上的操作都是以查为主(说白了就是展示嘛)

我们执行了DML语句那么负载均衡器,

就会把请求转发到主mysql服务器上,

这里有个问题?

我们已经向主服务器插入数据,或者删除数据,或者更新了数据,

那么是不是意味从服务里数据也应该发生变化呢

是的,从服务器肯定要发生变化的,不然就出现问题,

比如说,我删除了一个用户,

我查询一下被删除的用户, 丫的发现这个用户压根就没被删除,这不是搞笑了嘛,

那么就有了主从配置一说

主从原理:mysql中有一种日志叫做bin日志(二进制日志),

这个日志会记录下所有对MYSQL进行修改的SQL语句。当向主服务器执行SQL语句时,这条SQL语句会被传递到从服务器上再执行一遍。

说白了,就是Bin日志记录下Dml语句,直接到从服务器执行执行一遍相同的Dml操作,这个方式是以二进制,所有效率很好

至于什么时候用主从

1. 备份(如果数据库出现问题,马上再顶上)

2.优化(分流 读写分离)

Look看图

如果是Dml语句其实也可以直接访问主数据库,不必经过负载均衡器,那么这块从

话说回来哈, 负载均衡其实说白了吧,就是dns轮换,IP轮换嘛

如果可以话,其实我们自己也可以相对简单实现的,但这要分情况哈,

我提一个思路, 以MVC为例子 我粗狂简单的举一下列子,

1.在父类Model中对用户请求的sql语句进行分类。

1.1dml语句(update,insert,delelte)

1.2select语句

1.3dcl语句(数据控制语句)

1.4dtl语句(数据事务语句 )

1.5ddl语句(数据定义语句 )

2.我就以常用的dml 与select 语句为列子并拿3个台mysql服务器1台主mysql 2台从Mysql 与Linux系统为例子

对用户请求数据库的Sql指令进行进行统一分类,管理

主服务器IP: 192.168.0.1

从服务器IP: 192.168.0.2

从服务器IP: 192.168.0.2

3. 对用sql指令分析

如果是dml直接连接 192.168.0.1这台服务器

如果是select语句 怎么办呢?

1.我们首先要确定一个件事情要判断两台从服务器的负载大小

我们肯定要把请求发到负载比较小的服务器上是吧

那么我用socket用连接分别连接两台服务器,搞个类似远程控制客服端,

并利用top指令,对两台服务器的CPU内存等一些负载数据进行获取,

然后通过一些计算与比较最后把查询请求连接其中一个从服务器上。

然后就over

注解: 一家之言,说的不对,万望见谅,本人知识积累不强,工作年限不长!有些想当然了.

回归正题

关于Mysql环形结构也就mysql服务器互相为主从关系

虽然根据有关平台统计,B/S架构的平台70%以上都是都Select为主

那么如果我这个平台啊,就是(增,删,该)非常多,非常频繁怎么办呢?

如果是主从配置,那么我处理dml语句的就一台服务器,这不够嘛,这样主从服务器的缺点就暴露出来了

那么mysql的环形结构配置就能解决这样类似问题

原理也是利用bin日志来做

现在3个mysql服务器

我们随便向其中任何一台服务服务器执行dml语句,

那么Bin日志记录下Dml语句,

直接到其他服务器执行执行一遍相同的Dml语句操作

look图

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

mysql 环形主从_【每日一博】MySQL 互为主从(环形结构)_MySQL相关推荐

  1. mysql单机多实例主从_【转载】MySQL单机多实例安装并配置主从复制

    建立这么几个目录: $mkdir -p /home/mysql/mydata/data1/binlog /home/mysql/mydata/data1/relay_log /home/mysql/m ...

  2. docker mysql主从_使用docker 实现MySQL主从同步/读写分离

    1. 利用 docker 实现 mysql 主从同步 / 读写分离 为了保证数据的完整和安全,mysql 设计了主从同步,一个挂掉还可以用另个.最近重构论坛,想来改成主从吧.担心失误,就先拿 dock ...

  3. doctor mysql数据导入_线上环境mysql主从同步的搭建过程

    之前搭建过一套主从同步的mysql集群,但是是基于新数据库,而这次线上环境要升级成主从同步的集群,记录一下升级过程和中间遇到的各种问题. 由于是直接对线上数据库进行修改,因此要保证对线上环境造成尽量小 ...

  4. docker mysql5.7 主从_使用Docker部署MySQL 5.78.0主从集群的方法步骤

    > 部署 MySQL 5.7 集群 master & slave (仅测试用) 镜像版本 5.7 1.创建 overlay 网络 docker network create --driv ...

  5. linux mysql内网_在Linux中mysql的一些基本操作

    在Linux中mysql的一些基本操作 下面介绍一下 一.关于在Linux中mysql的一些基本操作 1.进入mysql "mysql -uroot -p",会提示输入密码,输入密 ...

  6. centos mysql卸载重装_提高性能,MySQL 读写分离环境搭建

    MySQL 读写分离在互联网项目中应该算是一个非常常见的需求了.受困于 Linux 和 MySQL 版本问题,很多人经常会搭建失败,今天松哥就给大伙举一个成功的例子,后面有时间再和大家分享下使用 Do ...

  7. mac mysql密码错误_解决mac 下mysql安装后root用户登录密码错误问题

    使用的mac OS 10.11  安装mysql后访问root/root用户失败,网上找了一些解决办法,下面记录下解决方法方便以后自己查询 概述(看懂下面就不用看了): 停服务:sudo /usr/l ...

  8. mysql 可视化监控_基于Prometheus构建MySQL可视化监控平台

    对于MySQL的监控平台,相信大家实现起来有很多了:基于天兔的监控,还有基于zabbix相关的二次开发.相信很多同行都应该已经开始玩起来了.我这边的选型是prometheus + granafa的实现 ...

  9. git mysql差异备份_结合Git实现Mysql差异备份,可用于生产环境

    埋头苦干多年一直没写过文章,今天突发狂想,为LNMP阵营贡献一些力量.就从平时工作过程中的心得和一些技巧分享出来.今天就猿们最熟悉的Mysql开始宅鸟的开篇博客 埋头苦干多年一直没写过文章,今天突发狂 ...

  10. mysql级联删除_近百道MySQL面试题和答案(2020收藏版)(完结篇)

    7. 什么是死锁?怎么解决? 死锁是指两个或多个事务在同一资源上相互占用,并请求锁定对方的资源,从而导致恶性循环的现象. 常见的解决死锁的方法 1.如果不同程序会并发存取多个表,尽量约定以相同的顺序访 ...

最新文章

  1. 重磅,2020年度第十届吴文俊人工智能科学技术奖获奖名单公示
  2. [云炬创业学笔记]第二章决定成为创业者测试8
  3. MySQL 锁与MVCC :数据库的锁、MVCC、当前读、快照读、锁算法、死锁
  4. 【Effective Java】6、使用复合优先于使用继承
  5. 感知哈希算法原理与实现
  6. 3.15 曝光:40 亿 AI 骚扰电话和 11 家合谋者
  7. php 管道,PHP 进程间通信---管道篇
  8. paip.silverlight设计器载入异常NullReferenceException问题。
  9. 自学Java开发一般需要多久?
  10. Hadoop大数据开发技术
  11. mybatis缓存的一些问题
  12. win7搜索网络计算机文件,Win7查找局域网共享文件的方法
  13. html移动小图标,html5 实现可拖拽移动的悬浮图标
  14. 360浏览器模拟百度搜索引擎蜘蛛访问
  15. iOS静态库中打包图片资源
  16. 【选型】常用的自动化测试工具
  17. 预渲染与服务端渲染的区别
  18. 中信科移动IPO过会:年营收57亿 拟募资40亿重点研发5G
  19. 易语言三款浏览器支持库哪款支持页游更好?
  20. 机器视觉 python+mediapipe+opencv实现人体姿态识别(一)

热门文章

  1. 直接拿来用的 CTO 创业技术栈指南!
  2. 对抗恶意程序的反虚拟化,百度安全提最新检测技术,具备三大特性
  3. 百度网盘就“用户激励计划”道歉;沈义人卸任 OPPO 全球营销总裁;Python 2.7.18 发布| 极客头条...
  4. 低学历、文科出身,我如何从月薪不到 3000 逆袭为大厂高薪程序员?
  5. 为什么说 Transformer 就是图神经网络?
  6. 国内 UOS 统一操作系统曝光;联想宣布要 All in 5G​;Android Studio 新版发布 | 极客头条...
  7. 任正非:华为不会拆分;以色列公司称可解锁所有 iOS 设备;Java 13 要来了! | 极客头条...
  8. 程序员如何掌握 React 开发的黄金法则? | 技术头条
  9. 不了解沙特,那你就看不懂硅谷
  10. 京东金融 App 收集隐私?开源库程序员不背锅!