MYSQL主从复制和读写分离.1

news2024/11/28 14:29:34

1、什么是读写分离?

读写分离,基本的原理是让主数据库处理事务性增、删、改操作(insert、update、delete),而从数据库处理select查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。

2、为什么要读写分离?

数据库的“写”(写10000条数据可能要三分钟)操作时比较耗时的。

数据库的“读”(读10000条数据可能只要5秒钟)。

所以读写分离,解决的是数据库写入时影响了查询的效率。

3、什么时候要读写分离?

数据库不是一定要读写分离,如果程序使用数据库较多时,而更新少,查询多的情况下会考虑使用。利用数据库主从同步,再通过读写分离可以分担数据库压力,提高性能。

4、主从复制与读写分离

在实际生产中,对数据库的读和写都在同一数据库服务器中,是不能满足实际需求的。无论是在安全性、高可用性还是高并发等各个方面都是完全不能满足实际需求的。因此,通过主从复制的方式来同步数据,再通过读写分离来提升数据库的并发负载能力。有点类似于rsync,但是不同的是rsync是对磁盘文件做备份,而mysql主从复制是对数据库中的数据、语句做备份。

5、mysql支持的复制类型

(1)statement:基于语句的复制。在服务器上执行sql语句,在从服务器上执行同样的语句,mysql默认采用基于语句的复制,执行效率高。

(2)row:基于行的复制。把改变的内容复制过去,而不是把命令在从服务器上执行一遍。

(3)mixed:混合类型的复制。默认采用基于语句的复制,一旦发现基于语句无法精确复制时,就采用基于行的复制。

6、主从复制的工作过程

(1)master节点将数据的改变记录成二进制日志(bin log),当master节点数据发生变化时,会将数据写入bin log日志当中。

(2)slave节点会定时向master节点bin log日志进行探测,当其发生改变时,slave会发送一个i/o线程请求master节点发送其二进制事件。

(3)master会对每一个i/o线程启动一个对应的dump线程,并向其发送二进制事件,slave接受到master发送的二进制事件后会将其保存在salve的中继日志当中(realy log),salve会启动sql线程,读取realy log中的二进制事件,并在本地重放,即解析成sql语句并逐条执行,使本地数据与master节点的数据保持一致,最后i/o、sql线程会进入休眠,等待下一次被唤醒。

注:
●中继日志通常会位于 OS 缓存中,所以中继日志的开销很小。
●复制过程有一个很重要的限制,即复制在 Slave上是串行化的,也就是说 Master上的并行更新操作不能在 Slave上并行操作。

mysql主从复制搭建

master节点:192.168.142.10

slave1节点:192.168.142.20

salve2节点:192.168.142.30

----Mysql主从服务器时间同步----

主服务器(10):

 

 

 

 从服务器(20、30)

----主服务器的mysql配置-----

 ----从服务器的mysql配置----

 确保slave_io_running和slave_aql_running都是yes

两台都是如此。

验证

 

 

 成功!

============MySQL主从复制延迟=============
1、master服务器高并发,形成大量事务
2、网络延迟
3、主从硬件设备导致
cpu主频、内存io、硬盘io
4、是同步复制、而不是异步复制
从库优化Mysql参数。比如增大innodb_buffer_pool_size,让更多操作在Mysql内存中完成,减少磁盘操作。
从库使用高性能主机。包括cpu强悍、内存加大。避免使用虚拟云主机,使用物理主机,这样提升了i/o方面性。
从库使用SSD磁盘
网络优化,避免跨机房实现同步

----验证主从复制效果----
主服务器上进入执行 create database db_test;

去从服务器上查看 show databases;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/524331.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mysql日志管理与备份恢复

目录 一、Mysql日志管理1、日志的分类1.1 错误日志1.2 通用查询日志1.3 二进制日志1.4 慢查询日志1.5 配置日志文件 2、日志的查询 二、Mysql备份与分类1、数据备份的重要性2、造成数据丢失的原因3、数据库备份的分类3.1 从物理与逻辑的角度划分3.2 从数据库的备份策略角度划分…

【配电网重构】基于SOE算法的多时段随机配电网重构方法【IEEE33节点、IEEE84节点】(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

go语言channel(管道)和 select的结合使用

给个小建议:如果是初学者,建议把基础知识朗读一遍,有个大概印象,后面思考多了,就会“由量变达到质变”,从而有所顿悟。 目录 一、基础知识二、例子11、管道ch的缓冲区为10,select中有case读取管…

基于stm32物联网开发板(2)--LCD屏幕

基于stm32物联网开发板(2)–LCD屏幕 LCD应用展示: LCD屏幕应用 1.概述 屏幕尺寸为1.3寸,分辨率240*240,颜色格式RGB565,驱动IC:ST7789VW;超大可视角度:大于160(显示屏中可视角度最大的一种屏幕)&#xff1…

《深入理解Java虚拟机》JVM是怎么实现方法的动态调用的?方法句柄

《深入理解Java虚拟机》JVM是怎么实现方法的动态调用的?方法句柄 1.方法句柄出现的原因 某个国家举办了跑步比赛,有亚洲,欧洲还是非洲人参赛,但是有机器人也参赛了。机器人不属于人类阵营,怎么能让机器人也参加进来呢&#xff1…

Java递归生成树

1.建菜单表 CREATE TABLE t_menu ( id int(11) NOT NULL AUTO_INCREMENT, pid int(11) NOT NULL, name varchar(255) DEFAULT NULL, PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT11 DEFAULT CHARSETutf8mb4; 2.造一些数据 注意:根节点的pid0&#xff0c…

利用Rsoft开展弯曲光纤仿真分析

Rsoft是一款优秀的光学仿真软件,里面集成了多个模块,其中BPM模块利用光束传播法(Beam Propagation Method),能够进行多种类型光器件的仿真,比如分束器、光纤等。这次,利用该模块展示如何开展光纤…

SpringSecurity简单的练手项目(SpringBoot+SpringSecurity+JWT)

文章目录 一、项目介绍二、SpringSecurity简介SpringSecurity中的几个重要组件:1.SecurityContextHolder(class)2.SecurityContext(Interface)3.Authentication(Interface)4.AuthenticationMana…

Eclipse的介绍与安装

Eclipse简介 Eclipse 是一个开放源代码的,基于 Java 的可扩展开发平台。Eclipse官方版是一个集成开发环境(IDE),可以通过安装不同的插件实现对其它计算机语言编辑开发,如C、Php、Python等等。 Eclipse的下载 下载时需要访问网址 http://…

Android系统原理性问题分析 - RefBase、sp、wp 分析

声明 在Android系统中经常会遇到一些系统原理性的问题,在此专栏中集中来讨论下。接触Android系统,遇到很多sp、wp相关问题,此篇分析Android系统内的智能指针问题。此篇参考一些博客和书籍,代码基于Android 9.0.0,不方…

3D点云的基本操作(基于PCL编程)

知识储备 右手系 右手,拇指,食指,中指,分别是x,y,z的正方向。左手系则同理。 旋转矩阵 本质:两个坐标系之间的旋转关系。 用途:旋转点云。 原理:设传感器的坐标系为O1X1Y1Z1,设…

mysql 分组语句测试

建表 建表语句: CREATE TABLE student( id int not null, name char(12), sex char(1) ); 预置数据 insert into student values(1, wh, 1); insert into student values(2, wh1, 0); insert into student values(3, zyx, 0); commit; 增加字段 alt…

设计模式的分类、意图和适用性

文章目录 引言分类创建型设计模式Factory Method(工厂方法)Abstract Factory(抽象工厂)Builder(生成器)Prototype(原型)Singleton(单例) 结构型设计模式Adapt…

【二】设计模式~~~创建型模式~~~工厂方法模式(Java)

【学习难度:★★☆☆☆,使用频率:★★★★★】 2.1. 模式动机 现在对该系统进行修改,不再设计一个按钮工厂类来统一负责所有产品的创建,而是将具体按钮的创建过程交给专门的工厂子类去完成,我们先定义一个…

【周末闲谈】超越ChatGPT?科大讯飞星火认知大模型

个人主页:【😊个人主页】 系列专栏:【❤️周末闲谈】 ✨第一周 二进制VS三进制 ✨第二周 文心一言,模仿还是超越? ✨第二周 畅想AR 文章目录 前言星火名字的由来科大讯飞星火落地应用演示赶超ChatGPT的底气在哪里?“硬…

洗地机哪个品牌好?好用的家用洗地机分享

洗地机采用高效吸力和清洗方式,可快速清除地面污渍和痕迹,让地面干净整洁,提高使用者的生活品质和舒适度。洗地机不仅清洁效果好,而且操作简单,大多采用一键启动和一键停止,方便快捷,节省时间和…

MySQL备份工具之xtrabackup

文章目录 MySQL备份工具之xtrabackup一、xtrabackup的介绍1、xtrabackup 版本兼容性2、Xtrabackup优点3、Xtrabackup备份原理 二、安装mysql5.7.x1、yum方式安装mysql5.7.x的方式2、下载 xtrabackup2.4 版本3、xtrabackup2.4备份mysql5.7.x数据3.1、innobackupex全备3.2、模拟数…

瑞吉外卖 - 完善后台系统登陆功能(5)

某马瑞吉外卖单体架构项目完整开发文档,基于 Spring Boot 2.7.11 JDK 11。预计 5 月 20 日前更新完成,有需要的胖友记得一键三连,关注主页 “瑞吉外卖” 专栏获取最新文章。 相关资料:https://pan.baidu.com/s/1rO1Vytcp67mcw-PD…

北邮22信通:电子电路实验:分享一个存放零散电阻的小方法

北邮22信通一枚~ 很高兴以一个新身份和大家见面! 有关电子电路实验的新专栏即将开启,会尽量分享一些实验报告方面的文章,大家敬请期待~ 这篇文章想和大家分享困扰小编好久的问题的解决方法!同时也就作为专栏开启的引子啦~ 事…

DJI A3飞控 遥控器信号中断 会导致什么问题?

DJI A3飞控 遥控器信号中断 会导致什么问题? 在使用DJI A3 飞控的过程中,希望用OSDK完成自动化的任务。 DJI A3要求必须连接遥控器,可以是大疆Lightbridge的遥控器,也可以是SBUS协议的遥控器,比如航模的支持SBUS协议的…