MySQL实现两主多从架构

1.实现目标

 目标清单:

    1)Master(192.168.31.230)为正常运行环境下的主库,为两个Slave(192.168.31.231和192.168.31.232)提供“主-从”复制功能;

    2)Master_Backup(192.168.31.233)是Master的备份库,只要Master是正常的,它不对外提供服务。它与Master之间属于"主-主"复制关系,即自己既是主机,又是对方的从机;

    3)同理,192.168.31.234和192.168.31.235为Slave_Backup,分别为192.168.31.231和 192.168.31.232的备份库,只要Slave是正常的,对应的备份机不对外提供服务;

    4)Slave在此架构中的目的是为了实现读写分离,对应用程序来说,Master只负责写,两个Slave只负责读。Slave的数据来源于Master的复制操作;

    5)如果Master由于某种原因(例如:宕机和断电等)导致不能正常运行,则此时需要让Master_Backup自动切换为新主机,而Slave和Slave_Backup也能自动切换数据源到Master_Backup;

    6)同理,如果Slave由于某种原因(例如:宕机和断电等)导致不能正常运行,则此时需要让对应的Slave_Backup自动切换为新从机;

    7)无论是Master还是切换后的Master_Backup,它们向客户端提供的连接地址应保持一致,如上图提供的VIP+Port,即192.168.31.201:3306,Slave和Slave_Backup也应如此,对外提供的连接地址始终是192.168.31.202:3306和192.168.31.203:3306。

 2.实现过程

     MySQL安装步骤不在此讲述。

2.1实现Master-Master结构

2.1.1修改Master和Master_Backup配置文件,vi /etc/my.cnf

    主要在[mysqld]内添加如下配置项:

# log文件名,必填
log-bin = mysql-bin
# 服务器Id,必须唯一
server-id = 230
# 不参与同步的数据库名,有多个则添加多个配置项
binlog-ignore-db = mysql
# Master-Master结构必须的
log-slave-updates
slave-skip-errors = all
sync_binlog = 1
read_only = 0
2.1.2为复制请求方提供链接账号和密码

    由于是Master-Master结构,因此需在双方终端中执行如下SQL命令:

GRANT REPLICATION SLAVE ON *.* to 'slave'@'%' identified by 'slave123';
    可在mysql实例的user表中查询到记录,重点关注Repl_slave_priv字段的值是否为Y,此账号(用户名:slave,密码:slave123)主要用于定位复制点

2.1.3在从机上指定Master数据源

   1)在Master上执行

SHOW MASTER STATUS; 
    得到的结果如下:

    重点关注File和Position两个字段值

    2)在Master_Backup也执行上述步骤,由于是初始状态,得到的结果和上图一样;

    3)在Master上执行如下SQL命令,填入Master_Backup的host、链接账号和密码、File和Position值

SLAVE STOP;
CHANGE MASTER TO MASTER_HOST='192.168.31.233',MASTER_USER='slave',MASTER_PASSWORD='slave123',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=107;
SLAVE START;
    4)在Master_Backup上执行如下SQL命令,填入Master的host、链接账号和密码、File和Position值
SLAVE STOP;
CHANGE MASTER TO MASTER_HOST='192.168.31.230',MASTER_USER='slave',MASTER_PASSWORD='slave123',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=107;
SLAVE START;
   5)重启Master和Master_Backup

2.1.4测试

    1)当Master和Master_Backup都正常运行时,在任意一端更新数据后都会同步到另一段;

    2)当Master处于不可运行时,在Master_Backup更新数据后重启Master,这时在Master上可得到最新的数据;

    3)当Master_Backup处于不可运行时,在Maste更新数据后重启Master_Backup,这时在Master_Backup上可得到最新的数据。

2.2实现Master-Slave结构

2.2.1实施过程
     将2.1.1和2.1.3的过程在所有Slave上操作一遍即可,需要注意配置文件中server-id一定要唯一,还有在执行CHANGE MASTER TO命令时,MASTER_HOST为192.168.31.230

SLAVE STOP;
CHANGE MASTER TO MASTER_HOST='192.168.31.230',MASTER_USER='slave',MASTER_PASSWORD='slave123',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=107;
SLAVE START;
 2.2.2测试

    1)当Master和Master_Backup都正常运行时,在任意一端更新数据后都会同步到两个Slave上;

    2)当Master处于正常运行时,在此端更新数据后都会同步到两个Slave上,而无论Master_Backup是否正常;

    3)当Master处于不可运行时,Master_Backup通过Monitor(Keepalived)成为接管者,在Master_Backup更新数据后都会同步到所有Slave上,并且重启Master后,最新数据也会同步到此端。

    可事与愿违,在第3)种场景下,Master_Backup不会将数据同步给Slave,即使后来在Slave上将MASTER_HOST指定为Keepalived提供的VIP(192.168.31.201)也无济于事:

SLAVE STOP;
CHANGE MASTER TO MASTER_HOST='192.168.31.201',MASTER_USER='slave',MASTER_PASSWORD='slave123',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=107;
SLAVE START;

    在Slave上执行SHOW SLAVE STATUS;

    得出如下结果:

     究其原因,如上图所示,Master_Server_Id为230,仍然指向的是已经处于不可运行的Master,而预期结果是希望它能自动的更新定位到Master_Backup(233)上,达到自动切换的目的。

     没办法,只有自己执行CHANGE MASTER TO...手动定位了。我草...,一不注意就会定位错误,造成数据丢失的问题,而且也不满足快速响应容灾切换的目的。

3.最终方案

    最终方案将选择mysql-mmm结合半同步机制来实现容灾自动切换。

3.1在master(230和233)上安装semisync master并设置

INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
SET GLOBAL rpl_semi_sync_master_enabled = 1;
SET GLOBAL rpl_semi_sync_slave_enabled = 1;

 vi /ect/my.cnf后加入如下配置:

rpl_semi_sync_master_enabled = 1
rpl_semi_sync_slave_enabled = 1

3.2在slave(231、232、234和235)上安装slave插件并设置

INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
SET GLOBAL rpl_semi_sync_slave_enabled = 1;

 vi /ect/my.cnf后加入如下配置:

rpl_semi_sync_slave_enabled = 1

3.3所有mysql实例停止slave并开启slave,使半同步机制生效

stop slave;
start slave;

3.4查看semisync状态

show status like '%emi%';

 重点关注:

1)Rpl_semi_sync_master_clients:与当前master建立半同步连接的客户端数;

2)Rpl_semi_sync_master_status:作为半同步master端的就绪状态(ON:就绪,OFF:未就绪)

3)Rpl_semi_sync_slave_status:作为半同步slave端的就绪状态(ON:就绪,OFF:未就绪)

3.5安装mysql-mmm

3.5.1新增一台专门用于监控mysql的服务器(mysql_monitor),IP为192.168.31.250

3.5.2在mysql_monitor、master、master_backup、slave和slave_backup上安装epel网络源

yum install http://mirrors.hustunique.com/epel//6/x86_64/epel-release-6-8.noarch.rpm

3.5.3在mysql_monitor上安装mysql-mmm-monitor

yum -y install mysql-mmm-monitor

3.5.4在master、master_backup、slave和slave_backup上安装和配置

1)安装mysql-mmm-agent

yum -y install mysql-mmm-agent

 2)授权monitor访问

GRANT REPLICATION CLIENT ON *.* TO 'mmm_monitor'@'192.168.31.%' IDENTIFIED BY 'monitor';     
GRANT SUPER,REPLICATION CLIENT, PROCESS ON *.* TO 'mmm_agent'@'192.168.31.%' IDENTIFIED BY'agent';

3)编辑mmm_agent.conf配置文件

vi /etc/mysql-mmm/mmm_agent.conf

# 包含公用配置文件
include mmm_common.conf 
# 对应mmm_common.conf中定义的某个host名称
this db1
# 设置成1时,将打印日志到前台,按ctrl+c将结束进程
debug 0
max_kill_retries 1

4)编辑mmm_common.conf配置文件

vi /etc/mysql-mmm/mmm_common.conf

active_master_role      writer

<host default>
    # 对应当前主机的网络接口名
    cluster_interface       eth2
    pid_path                /var/run/mysql-mmm/mmm_agentd.pid
    bin_path                /usr/libexec/mysql-mmm/
    mysql_port              3306
    agent_port              9989
    # 对应GRANT REPLICATION SLAVE ON语句创建的账号和密码
    replication_user        slave
    replication_password    slave123
    # GRANT SUPER,REPLICATION CLIENT, PROCESS ON语句创建的账号和密码
    agent_user              mmm_agent
    agent_password          agent
</host>

# master的配置
# 其中host后面的值定义的是某台数据库服务的别名,一般就用服务器的主机名即可
<host db1>
    ip      192.168.31.230
    mode    master
    # db1的master对等点
    peer    db2
</host>

# master_backup的配置
<host db2>
    ip      192.168.31.233
    mode    master
     # db2的master对等点
    peer    db1
</host>

# slave的配置
<host db3>
     ip     192.168.31.231
     mode   slave
</host>

# slave的配置
<host db4>
     ip     192.168.31.232
     mode   slave
</host>

# slave_backup的配置
<host db5>
     ip     192.168.31.234
     mode   slave
</host>

# slave_backup的配置
<host db6>
     ip     192.168.31.235
     mode   slave
</host>

# 定义writer角色,即架构中的master和master_backup
# ips为writer对外提供的vip
<role writer>
    hosts   db1, db2
    ips     192.168.31.201
    mode    exclusive
</role>

# 定义reader角色,即架构中的两个slave和两个slave_backup
# ips为reader对外提供的vip
<role reader>
    hosts    db3, db4, db5, db6
    ips      192.168.31.202, 192.168.31.203
    mode     balanced
</role>

 注意,需要将此配置文件复制到mysql_monitor的同名目录下

3.5.5在master、master_backup、slave和slave_backup上启动mmm agent服务,并设置为开机服务

执行如下启动命令:

/etc/init.d/mysql-mmm-agent start

 如果出现如下示例信息:

则说明配置成功

vi /etc/rc.d/rc.local后,将上述命令行添加到mysql启动命令的下面

3.5.6编辑mysql_monitor上的配置文件mmm_mon.conf

vi /etc/mysql-mmm/mmm_mon.conf

include mmm_common.conf

<monitor>
    # 本机IP
    ip                  192.168.31.250
    port                9988
    pid_path            /var/run/mysql-mmm/mmm_mond.pid
    bin_path            /usr/libexec/mysql-mmm
    status_path         /var/lib/mysql-mmm/mmm_mond.status
    # 所有MySQL服务器的IP
    ping_ips            192.168.31.230, 192.168.31.231, 192.168.31.232, 192.168.31.233, 192.168.31.234, 192.168.31.235
    auto_set_online     0
</monitor>

<host default>
    # GRANT REPLICATION CLIENT ON语句创建的账号和密码
    monitor_user        mmm_monitor
    monitor_password    monitor
</host>

<check mysql>
    # 每5秒检查一次
    check_period        5
    trap_period         10
    # 检查超时秒数
    timeout             2
    restart_after       10000
    max_backlog         60
</check>
# 设置为1,开启调试模式,打印日志到前台,ctrl+c将结束进程,对于调试有帮助
debug 0
       关于mmm_agent.conf、mmm_common.conf、mmm_mon.conf和 mmm_mon_log.conf的具体内容,可以参考 http://blog.chinaunix.net/uid-16844903-id-3152138.html
3.5.7在上mysql_monitor开启mmm monitor监控,并设置为开机服务

    执行如下启动命令:

/etc/init.d/mysql-mmm-monitor start

    如果出现如下示例信息:

    则说明配置成功

vi /etc/rc.d/rc.local后,将上述命令行添加于此

3.5.8重启所有服务器系统后测试

1)在mysql_monitor上执行如下命令,查看各监控机的运行状态

mmm_control show
    得到如下示例结果:

     理想情况下,所有的MySQL都应该处于“ONLINE”状态,这里的结果与第1节中的目标清单有一定误差,因为202和203这个“读”IP浮动到slave正好与预期结果相反,这和MySQL的启动顺序有关,而且最重要的是在mmm_common.conf中没有作严格的控制,对于两个slave(231和232)和两个slave_backup(234和235)来说,得到202和203这两个"读"IP的机会是均等的。

     现在重新执行2.2.2节的测试场景3),停掉maste后稍等片刻,再执行mmm_control show得到如下结果:

     原来的master已处于不可用(HARD_OFFLINE)状态,master_backup(233)成为了新的master,此时再在各slave和slave_backup上执行SHOW SLAVE STATUS;

     可以看出,不用再自己手动定位,就可以让Master_Host和Master_Server_Id自动定位到当前处于“ONLINE”状态的Master_Backup上。

    1)在Master_Backup上更新数据,在所有的slave和slave_backup上可以很快的查询到最新的数据;

    2)重启Master并稍等片刻后,在这台主机上也可以查询到最新的数据,此时writer权限仍在Master_Backup上。

4.最终架构

5.总结

       接3.5.8测试场景2),虽然Master已恢复了“ONLINE”状态,但整个架构是“非抢占式”的,writer权限仍在Master_Backup上,所以在Master上更新数据不会同步到其它主机上。因此,在实际使用过程中,除进行数据库维护用真实IP访问之外,其余操作都只使用VIP来进行,201为wirter,202和203为reader。

       从第4节的架构图中看出,Mmm_Mnitor存在单点问题,当Mmm_Mnitor处于不可运行时,整个主从结构将不能正常运行。可以部署多个监控,结合Keepalived来扩展。

       "主-主"和“主-从”架构通常有两个目的:第一是为了进行容灾备份,当数据库发生不可预知的错误导致不可运行甚至丢失数据时,其余的备份机可以继续对外提供数据读写服务。第二是为了分摊数据库压力实现"读写分离"。

       读写分离会带来数据延迟达到的问题。假设有一个业务,当数据插入到数据库后要立即又从数据库中将此数据查询出来,因此当数据插入到Master库后,由于网络的延迟,Slave库中不会立即得到这条最新的数据,此时应用程序查询Slave库将得不到预期结果。

       通常有如下两个方案解决上述问题:

       1)将此类业务控制在一个数据库事务中进行,读写都在master中进行。因此,在mmm_common.conf配置文件中,还需要将db1和db2同时配置在reader组:

<role writer>
    hosts   db1, db4
    ips     192.168.31.201
    mode    exclusive
</role>

<role reader>
    hosts    db1, db4, db2, db3, db5, db6 
    ips      192.168.31.202, 192.168.31.203
    mode     balanced
</role>

    2)使用Zookeeper来解决分布式一致性问题,后续单独再来介绍。

mysql数据库从库同步延迟的解决方案 在从服务器上执行show slave status;可以查看到很多同步的参数,我们需要特别注意的参数如下,希望文章对各位会有所帮助。 在从服务器上执行show slave status;可以查看到很多同步的参数,我们需要特别注意的参数如下: Master_Log_File: SLAVE中的I/O线程当前正在读取的主服务器二进制日志文件的名称 Read_Master_Log_Pos: 在当前的主服务器二进制日志中,SLAVE中的I/O线程已经读取的位置 阅读详情

相关推荐

Docker快速搭建Mysql8一主两从复制架构

文档:https://dev.mysql.com/doc/refman/8.0/en/replication-howto-slaveinit.html。includedir /etc/mysql/conf.d/: 这告诉MySQL服务器从/etc/mysql/conf.d/目录中包含其他配置文。source_log_file:指定从数据库要复制数据的日志文件,通过查看主数据的状态,获取File参数;pid-file: 这是MySQL服务器的进程ID文件的位置。这有助于区分不同的服务器,特。

weixin_47072986的博客 1794

MySQL双主架构介绍

在企业中,数据库高可用一直是业务关注的重点,很多都是使用mysql主从方案,但是单主存在单点故障,从库切换成主库需要作改动。因此,通过双主或多主架构,解决一主多从架构的单点故障,减少主从切换的故障处理时间,增加MySQL群集的高可用性。本篇博客主要介绍双主架构的两种方案,主备模式,主主模式。他们的工作原理是....

一只慵懒的猫z的博客 4257

mysql 双主架构详解

一、背景 二、MySQL双主(主主)架构方案 三、MySQL双主架构图 四、MySQL双主架构的优缺点 五、MySQL双主架构,会存在什么问题?

2953

搭建高性能数据库集群之一:MySQL主从复制(一主一从、双主双从)

主从数据库是什么意思呢,主是主库的意思,从是从库的意思。数据库主库对外提供读写的操作,从库对外提供读的操作。高可用,实时灾备,用于故障切换。比如主库挂了,可以切从库。读写分离,提供查询服务,减少主库压力,提升性能备份数据,避免影响业务。主从复制原理,简言之,分三步曲进行:①主数据库有个 binlog 二进制文件,记录了所有增删改 SQL 语句;②(binlog线程)从数据库把主数据库的binlog文件的 SQL 语句复制到自己的中继日志relaylog;

hualinger的博客 4058

解析vCard 3.0:提取电子名片中的姓名

N:LastName;FirstName;;;END:VCARD和END:VCARD标记数据块的开始和结束。N字段存储结构化姓名(分号分隔)。FN字段为直接可读的显示名称。其他字段如TELEMAIL等保存联系信息。

qq_45797625的博客 2780

AD/Protel老手才知道的PCB过孔查看技巧:3分钟分清通孔、盲孔和埋孔

本文为PCB设计工程师提供了在Altium Designer/Protel中快速鉴别通孔、盲孔和埋孔的实用技巧。通过层叠管理器、高级筛选工具和实战五步法,帮助用户在3分钟内精准识别过孔类型,提升设计效率和电路性能。特别适合处理高密度HDI板卡中的复杂过孔布局。

weixin_29164497的博客 575

iOS中高级面试进阶:从语言基础到架构设计的完整知识体系

在移动开发领域,iOS面试考察的不仅是语法记忆,更是对底层原理与工程实践的深度理解。掌握内存管理、Runtime、多线程等核心机制,是成为中高级工程师的关键。本文从语言基础出发,剖析ARC、Block、方法消息转发等原理,并结合UI渲染、架构设计、网络优化、性能监控等实战场景,帮助开发者构建完整的知识网络。通过理解面试官考察的四个维度,针对性准备,能有效提升面试通过率,并在实际项目中做出更优的技术决策。

weixin_33806300的博客 377

国内用户稳定开通ChatGPT Plus会员的完整实操指南

ChatGPT作为当前最先进的AI对话模型,其技术原理基于Transformer架构和大规模语言预训练。通过深度学习技术,ChatGPT能够理解自然语言并生成高质量回复,在代码生成、文档分析等场景具有重要技术价值。对于需要高频使用的开发者而言,ChatGPT Plus会员提供了优先访问权和GPT-4模型支持等核心功能。在实际应用场景中,国内用户常面临支付限制和区域封锁等挑战。本文针对这些痛点,重点解析如何通过可靠的支付渠道和账号安全策略,实现稳定的会员开通方案,帮助用户突破技术使用壁垒,充分发挥AI助手在开

weixin_29042035的博客 954

mysql两主多从

mysql两主多从 1.实现目标目标清单: 1)Master(192.168.31.230)为正常运行环境下的主库,为两个Slave(192.168.31.231和192.168.31.232)提供“主-从”复制功能; 2)Master_Backup(192.168.31.233)是Master的备份库,只要Mas...

weixin_34270865的博客 95

R语言笔记三:矩阵、数组、列表和数据框

1.矩阵        矩阵是二维的,需要有行和列。向量是一维的。        在R软件中,矩阵是有维数的向量,这里的矩阵元素可以是数值型、字符型或者逻辑型,但是每个元素必须拥有相同的模式,这个和向量一致。 (1)创建矩阵: m <- matrix(1:20,4,5) 行数和列数的分配必须满足分配条件。若分配的行列过大,分配的元素不足够,则报错。 m <-

weixin_44384631的博客 6210

大模型——CoPaw:阿里云通义推出的个人智能体工作台,让 AI 助理真正落地

阿里云通义实验室于2026年2月发布CoPaw个人智能助理,采用"本地+云端"双部署模式,支持多平台接入和技能扩展。该产品基于AgentScope多智能体生态构建,具备极简部署、长期记忆系统和灵活的技能插件体系三大核心特性。用户可通过简单命令快速安装,并通过记忆文件系统实现个性化交互体验。CoPaw还支持钉钉、飞书等主流平台接入,并开源了模块化架构,允许本地模型接入。技术架构采用多频道对话网关与可插拔Skills系统,为用户提供真正的AI助理服务体验。

2133

MySQL 跨机房多活架构实战详解:从问题出发到全链路高可用落地

本文以某省公司MySQL数据库架构改造为例,探讨了从单机房主备架构演进为跨机房高可用容灾架构的实践路径。初始架构存在DNS缓存延迟、MHA切换耗时等痛点,通过分阶段改造:首先引入注册中心和数据库代理实现读写分离;随后采用Orchestrator简化拓扑管理;最终形成跨机房"一主多从+写转发+手动切换"的容灾方案。该方案在保证数据一致性的前提下,通过代理层转发写请求、Orchestrator管理主从切换,实现了机房级容灾能力。

qq_46371374的博客 1024

【OpenClaw企业级智能体实战】第27篇:Skill生态运营——企业私有Skill商店的搭建与审核机制

2026年ClawHavoc供应链攻击事件曝光超1200个恶意Skill渗透公共技能市场,工信部明确要求企业审慎使用第三方技能包并严格审查代码。本文基于真实安全事件与行业实践,完整讲解企业私有Skill商店从0到1搭建方案,覆盖小团队极简GitLab私有仓库、中大型企业Nacos 3.2私有Registry两种主流架构,配套企业级安全审核四步法、静态代码扫描规则、CI/CD自动化审计、数字签名校验与版本生命周期管理。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 501

MySQL高可用架构之MHA

概述: MySQL 高可用性包括MySQL Cluster 或者Heartbeat+DBRB 架构,但其方案的复杂性比较大,故此架构起来会比较麻烦,与之相对应的,利用MySQL复制特性来实现高可用的的方案就显得比较简单了 利用复制特性的高可用有MMM和MHA,其中MMM问题比较多,故此推荐使用MHA比较靠谱 MHA(Master High Availability)目前在MySQL高可用方面...

weixin_30256505的博客 158

【AIGC】大模型面试高频考点07-注意力(Attention)篇

AIGC面试高频考点

一个内容严谨、方向前沿、极具实践价值的AI大模型技术分享站 3363

SAP 物料的与压缩库存数据不一致

总结:发生这个问题的原因多数会发生在测试系统在拷贝正式系统的时候会发生这样的情况,系统在拷贝的时候,业务数据还在发生,就会导致数据拷贝的时候丢失数据。经过查询发现是由于物料分类账中的物料的库存数量和 ACDOCA_M_EXTRACT表中的数量对不上,导致系统抛出报错的信息。由于是测试系统,直接更改表的数据,把ACDOCA_M_EXTRACT表中的库存数据和金额与物料分类账中的数据保持一致。在测试系统中进行501和561增加库存的时候,系统提示物料的预压缩库存数据不一致的报错。

我小时候很黑的博客 3305

MySQL高可用架构之MHA的手动部署

MHA 环境: Server1:172.25.24.1 master Server2:172.25.24.2 slave Server3:172.25.24.3 slave Server4:172.25.24.4 manager 先简单配置主从复制,一主两从 Server1 grant replication slave on . to repl@’%’ identifie...

Cancer.的博客 311

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

mysql多主多从服务器_MySQL两主(多主)多从架构配置

一、角色划分1、MySQL数据库规划我现在的环境是:zhdy04和zhdy05已经做好了主主架构配置,现在需要的是把两台或者多台从服务器与主一一同步。主机名IP 地址角色Mysql_server_idzhdy04192.168.230.145masterA145zhdy05192.168.230.146masterB146zhdy06192.168.230.147slaveA147zhdy0719...

weixin_30909873的博客 918

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

MySQL8 双主(主主)架构部署实战

一文带你学会MySQL8双主架构实战

低调,谦虚,自律,反思,成长,保持热爱,奔赴梦想 4201

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

mysql主从复制(一主两从),完成读写分离配置

Mysql的主从复制中主要有三个线程:master(binlog dump thread)、slave(I/O thread 、SQL thread),Master一条线程和Slave中的两条线程。master(binlog dump thread)主要负责Master库中有数据更新的时候,会按照binlog格式,将更新的事件类型写入到主库的binlog文件中。并且,Master会创建log dump线程通知Slave主库中存在数据更新,这就是为什么主库的binlog日志一定要开启的原因。

weixin_58806505的博客 289

MySQL - 多源复制:多主一从架构的搭建与维护

MySQL 多源复制架构搭建指南 摘要 本文详细介绍了MySQL多源复制(Multi-Source Replication)的实现方法,这是一种允许单个从库同时从多个主库同步数据的架构。主要内容包括: 核心概念:多源复制通过独立复制通道实现多主一从架构,适用于数据整合、日志收集等场景 环境配置: 要求MySQL 5.7+并启用GTID 每个实例需设置唯一server_id 主库需创建复制账号 实施步骤: 主库配置(my.cnf修改和用户创建) 从库配置(多通道设置) 使用CHANGE MASTER命令为每个

千淘万漉虽辛苦,吹尽狂沙始到金 2万+

MySQL 主从复制与一主多从架构实战详解

MySQL 的主从复制为分布式架构提供了坚实的基础。不论是一主多从、主主复制,还是读写分离,在不同规模和业务需求下都能灵活组合构建高可用、高性能的数据库架构。

2303_78594540的博客 2736

MySQL多主多从

使用docker配置MySQL多主多从

qq_39517222的博客 1445
上一篇: CentOS安装MYSQL
下一篇: Nginx安装,配置实现Tomcat负载均衡
心如止水dy
博客等级 码龄19年 5粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值