高大上的MySql主从复制到底是什么

【MySQL】主从复制 MySQL是一款关系型数据库,被广泛应用于各种互联网应用中。随着业务的不断扩大,数据量不断增加,如何让MySQL具有更好的可用性和容灾能力成为了越来越重要的问题。本文将重点介绍MySQL主从复制和高可用性的实现,旨在为MySQL的使用者提供指导和帮助。本篇博客介绍了MySQL高可用性的常见解决方案,包括负载均衡、主从复制、主主复制以及结合MHA和Galera Cluster的整合方案。高可用性对于数据库系统至关重要,它可以确保用户的请求始终得以满足,并且降低系统停机时间的风险。 阅读详情

微信公众号:Java患者
专注Java领域技术分享

为什么要主从复制

通常我们对数据库的读和写都是在同一个数据库服务器中操作,但是当我们的数据量大的时候我们可能会考虑性能问题,那么为了提升系统性能,我们就可以通过MySQL的主从复制(读写分离)来减轻数据库的负载,并且如果当主数据库服务器宕机,我们数据库的数据也不会丢失,因为我们复制到了另外一个服务器上,甚至是多台数据库服务器(一主多从),而MySQL只支持一个主数据库多个数据库。

MySQL主从复制原理

主从复制的原理则是采用binlog文件进行复制,我们都知道MySQL的数据库会产生一个二进制日志,就是binlog,该日志文件记录了数据的任何修改,所以我们的从机Slave会从主机读取二进制的binlog日志到本机的I/O thread中,然后写入一个Relay log文件中,从机开启一个SQL thread 定时检查Realy log 文件,如果发现有更新立即把更新的内容在本地的数据库上执行。

biglog 日志的三种格式

MySQL的binlog日志有三种格式

  • Statement:每一条会修改数据的sql都会记录在binlog中

    优点:不需要记录每一行的变化,大大减少了binlog日志文件的大小,节约IO,提高读取性能。

    缺点:为了保证sql语句能在slave上正确执行,必须记录上下文信息,保证所有语句能在slave得到和在master端执行时候相同的结果。

  • Row: 仅保存哪条记录被修改

    优点:不记录执行的sql语句上下文相关的信息,比Statement好用。

    缺点:如果执行update不带条件的时候,那么整个表的数据都要被记录在binlog中,日志文件会很大。

  • Mixed: 以上两种的混合使用,一般的语句修改用statement,全表更新使用Row,但是无法使用@@host name。

开始配置

主数据配置

修改配置文件 :vi /etc/my.cnf

主服务器唯一ID

server-id = 1

启用binlog

log-bin=mysql-bin

设置不需要复制的数据库(可以设置多个)

binlog-ignore-db=mysql

设置需要复制的数据库(因为从机从binlog开始记录日志开始作为节点复制,所以无需创建testzero数据库)

binlog-do-db=testzero

设置binlog格式

binlog_format=STATEMENT

重启主机MySQL服务


nice!!!

从机配置

修改配置文件 vi /etc/my.cnf

从服务器唯一ID

server-id=2

启用relay log

relay-log=mysql-relay

重启服务器

授权主机

grant replication slave on *.* to 'slave'@'%' identified by 'java123456A.';

查看下master的状态

file代表给从机复制的文件,position代表复制的节点。

从机配置需要复制的主机

change master to master_host = '192.168.232.128',
    -> master_user='slave',
    -> master_password='java123456A.',
    -> master_log_file='mysql-bin.000001',
    -> master_log_pos=430;

启动从服务器的复制功能

start slave

查看状态

我们只要关注slave_IO_Running跟Slave_SQL_Running的状态即可,两个都为yes则成功,如果有一个为no我们就可以看到最下面的错误日志。

开始主机的数据修改

进入从机 看复制情况

完美!!!

专注分享Java技术,跟我一起学习吧

长按识别二维码关注

mysql实现主从复制 MySQL主从复制配置指南 通过二进制日志实现数据同步,主服务器(A)记录所有操作到日志,从服务器(B)获取日志并执行相同操作。配置步骤:1)修改主从服务器my.cnf,启用二进制日志并设置唯一server-id;2)在主服务器创建复制账号;3)记录主服务器bin日志信息;4)在从服务器配置连接信息并启动同步。验证slave status显示两个"Yes"即表示配置成功。此方案可有效实现数据库读写分离,提升系统性能。 阅读详情

相关推荐

MySql面试精选—主从复制

什么是MySQL主从复制?MySQL主从复制模式有哪些

老王随聊 1202

什么是mysql主从复制_mysql主从复制

什么是mysql的主从复制MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点。MySQL 默认采用异步复制方式,从节点不用一直访问主服务器来更新自己的数据,数据的更新可以在远程连接上进行,从节点可以复制主数据库中的所有数据库或者特定的数据库,或者特定的表。主从复制优点数据热备:主库故障后,可切换到从数据库继续工作,一定程度上实现高可用。读写分离:让主库负责写,...

weixin_32558567的博客 550

系统-等保三级-CentOS Linux 7合规基线检查 shell脚本

系统-等保三级-CentOS Linux 7合规基线检查 shell脚本

swindy博客 2407

MySQL主从和主备的区别

主库 show master status\G 备库 show slave status\G 从库 show slave status\G Relay_Log_Pos

喝醉酒的小白 1万+

深入解析DDR5 SDRAM中的CA训练模式(CATM):原理与实现

本文深入解析DDR5 SDRAM中的CA训练模式(CATM),详细探讨其工作原理与实现方法。通过分析JESD79-5标准,揭示CATM在时序校准、信号质量优化和系统稳定性方面的核心价值,并提供硬件设计考量和系统级调试技巧,帮助工程师解决高速内存系统中的信号完整性问题。

weixin_29235923的博客 383

什么是 WhatsApp云控 WhatsApp群发,WhatsApp协议,他们有什么区别?

下面我们sensws讲解下什么是WhatsApp云控 WhatsApp群发,WhatsApp协议

sendws的博客 3874

MySQL主从复制简介

一、主从复制 MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点。MySQL 默认采用异步复制方式,这样从节点不用一直访问主服务器来更新自己的数据,数据的更新可以在远程连接上进行,从节点可以复制主数据库中的所有数据库或者特定的数据库,或者特定的表。 二、主从复制的作用 数据的热备:作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据丢失。 架构的扩展:业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O访问的频率,提高

hanjinjuan的博客 569

Ubuntu 24.04 + RTX 5090 部署 OpenVLA-OFT:从环境配置到机器人任务评估实战

本文详细记录了在Ubuntu 24.04 LTS系统上,为全新RTX 5090显卡配置CUDA 12.8+与PyTorch 2.7.1+开发环境,并成功部署OpenVLA-OFT视觉语言模型进行机器人任务评估的完整实战流程。文章重点解决了驱动安装、依赖版本冲突、路径设置等核心难题,为在最新硬件上运行先进AI机器人模型提供了可靠的避坑指南和性能观察。

n8m7b6v5c4的博客 594

MySQL主从复制原理

docker部署MySQL容器达成MySQL主从复制

W_Y_Long的博客 1340

TwinCAT3入门教程3——PLC程序变量定义和硬件IO关联

目录 1、IO输入输出变量定义和硬件关联 1.1 IO输入 1.2 IO输出 1.3 PLC变量和IO模块关联 1.4 测试IO输出点 2、伺服变量关联 1、IO输入输出变量定义和硬件关联 1.1 IO输入 添加全局变量IO_Global 变量定义 (*==========================================IO输入===============================================================*)

panjinliang066333的博客 1万+

Replay音频转换时samplerate缺失的解决方案指南

Replay音频转换时提示"No module named 'samplerate' This error is lazily reported, having originally occured in File"的解决方案

weixin_47445543的博客 2127

MySQL主从复制

一、MySQL主从复制原理 在实际的生产中,为了解决Mysql的单点故障已经提高MySQL的整体服务性能,一般都会采用「主从复制」。 比如:在复杂的业务系统中,有一句sql执行后导致锁表,并且这条sql的的执行时间有比较长,那么此sql执行的期间导致服务不可用,这样就会严重影响用户的体验度。 主从复制中分为「主服务器(master)「和」从服务器(slave)」,「主服务器负责写,而从服务器负责读」,Mysql的主从复制的过程是一个「异步的过程」。 这样读写分离的过程能够是整体的服务性能提高,即使写操作时间

m0_62473957的博客 2万+

matlab生成blocks、bumps和doppler标准测试信号

关键函数:wnoise使用方式X = wnoise(FUN,N) [X,XN] = wnoise(FUN,N,SQRT_SNR) [X,XN] = wnoise(FUN,N,SQRT_SNR,INIT)X = wnoise(FUN,N) 返回由 FUN给出的信号,长度为2^N,幅值范围[0,1].[X,XN] = wnoise(FUN,N,SQRT_SNR) ,返回了一个测试信号X,以及一个加噪

ZSZ_shsf的博客 6579

MySQL的主从复制

MySQL的主从复制 目录 为什么需要主从复制? MySQL 主从复制概念 MySQL 主从复制主要用途 MySQL主从形式 一主一从 一主多从,提高系统的读性能 多主一从 (从5.7开始支持) 双主复制 级联复制 MySQL 主从复制原理 MySQL主从复制的过程 MySQL 主从复制模式 异步模式(mysql async-mode) 半同步模式(mysql semi-sync) 全同步模式 MySQL的复制机制 binlog记录模式 GTID复制模式 mysql主从同步延时分析 多

Pert的博客 1万+

自动化测试与AI的结合应用

自动化测试,人工智能,机器学习,深度学习,测试用例生成,缺陷预测,测试优化 1. 背景介绍 在软件开发领域,自动化测试已成为不可或缺的一部分,它可以提高测试效率、降低测试成本,并确保软件质量。然而,传统的自动化测试方法往往依赖于人工编写的测试用例,这不仅耗时费力,而且难以应对复杂软件

AI架构师小马 2245

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

【MySql】 搭建主从复制

主从复制是指将主库的数据变更同步到从库,从而保证主库和从库数据一致,可用于数据备份、失败迁移、读写分离、降低单库读写压力等场景。对于面向大企业的B端产品而言,主从复制技术尤为重要。

精益求精 2033

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Docker 实现MySQL 主从复制

记得打开安全组,虚拟机的话记得处理好防火墙。后,从机也随之就有了。(这里的命名是确定的,因为在配置文件中说明了复制。当然这些还是有看不出到底有没有复制的话,咱们直接测试函数,就能知道啦。这就可以看出主从复制确实是成功的,但是在使用函数上有数据不一致的问题。注意:此步骤后不要再操作主服务器MySQL,防止主服务器状态值变化。,将mysql的配置文件夹和宿主机的文件夹挂载起来的。搭建过程中,为了减少错误的产生,就多了这一步的测试。:如果在这里出现错误,先重置。测试启动成功后,我们再来进行下一步。

潇峰的博客 1630

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

MySQL——主从复制

从服务器上面启动一个I/O线程, 连接到主服务器上面请求读取二进制(Bin-log)日志,然后把读取到的二进制日志写到本地的Realy-log(中继日志)里面。主从复制(也称 AB 复制)允许将来自一个MySQL数据库服务器(主服务器)的数据复制到一个或多个MySQL数据库服务器(从服务器)。分析 - 可以在主服务器上创建实时数据,而信息分析可以在从服务器上进行,而不会影响主服务器的性能。执行此过程后,在主服务上操作的修改数据的操作都会在从服务器中执行一遍,这样就保证了数据的一致性。

xjm2001的博客 2131

MySql主从复制原理

1、什么是主从复制?概念 主从复制是用来建立一个和 主数据库完全一样的数据库环境称为从数据库;主数据库一般是准实时的业务数据库。2、主从复制作用我们来思考如果在企业网站中,后端MYSQL数据库只有一台时候,会有以下问题:1、单点故障服务不可用2、无法处理大量的并发数据请求3、数据丢失所以通过主从复制后,它的优点就很明显1、如果主节点出现故障,那么我们就直接将服务切到从节点,来保证服务立马可用。2、如果并发请求特别大的时候,我们可用进行读写分离操作,让主库负责写,从库负责读。

qq_37436172的博客 3638

MySQL-主从复制

MySQL-主从复制

我姓谭却弹不死你的博客 1416

MySQL的主从复制原理

一、主从复制概念 二、读写分离的概念 三、主库和从库 1. 主库 2. 从库 四、主从复制的流程 五、主从复制效果展示

qq_41721746的博客 2653

MySQL主从复制详解

在实际应用中,合理配置和持续监控主从复制的状态,有助于保障数据的安全和稳定性,提高数据库整体的可用性。MySQL主从复制基于主从模型工作,其中主服务器(Master)负责处理写操作(INSERT、UPDATE、DELETE等),而从服务器(Slave)则复制主服务器的数据变更。:主服务器将二进制日志发送给从服务器,从服务器接收并应用这些日志,以重放主服务器上的写操作,保持数据同步。:连接到主服务器,并从其获取二进制日志文件,然后将这些日志应用到自身的数据上,保持与主服务器数据的同步。

qq_52645134的博客 7646
上一篇: 为什么要使用MyCat?
下一篇: springcloud启动The bean ‘eurekaRegistration‘, defined in class path resource报错
新时代Java农民工
博客等级 码龄7年 16粉丝 116原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值