首页 > 数据库 >mysql主从复制三个线程

mysql主从复制三个线程

时间:2022-10-31 10:34:45浏览次数:44  
标签:主从复制 slave failover connection 复制 master mysql 线程


mysql主从同步很慢查看是io 还是sql

经过分析,业务那边在删除一个大表数据,从库单线程处理不过来,且io性能也比较低,造成堆积

[mysql@mysql192-168-0-36/data/mysqldata1/relaylog]iostat-x/dev/sda229

Linux2.6.18-164.el5(mysql192-168-0-36)

本回答由提问者推荐

什么情况会导致MySQL主从复制延迟

AsynchronousReplicationAutomaticfailover

其原理是在一条异步复制通道上配置多个可用复制源,当某个复制源不可用时(宕机、复制链路中断),且slave的IO线程尝试重连无效,自动根据权重选择新的源继续同步。

准备一个MGR集群和单实例,模拟复制链路切换,当primary故障,slave自动切换到其他节点。dbdeployerdeployreplication--topology=group8.0.22--single-primarydbdeployerdeploysingle8.0.22

2.在从机上建立指向MGR主节点的复制通道,

changemastertomaster_user='msandbox',master_password='msandbox',master_host='127.0.0.1',master_auto_position=1,source_connection_auto_failover=1,master_port=23223,master_retry_count=6,master_connect_retry=10forchannel'mgr-single';

在master_retry_count和master_connect_retry的设置上要考虑尝试重连多久才切换复制源。

3.在从机上配置asynchronousconnectionautofailover

配置asynchronousconnectionautofailover的两个函数:

asynchronous_connection_failover_add_source(channel-name,host,port,network-namespace,weight)

asynchronous_connection_failover_delete_source(channel-name,host,port,network-namespace)

权重值大的被优先级选择,可以配合MGR的选举权重配置asynchronous_connection_failover的权重。当MGR节点切换,异步复制也能切换到新的主节点。

SELECTasynchronous_connection_failover_add_source('mgr-single','127.0.0.1',23223,null,100);SELECTasynchronous_connection_failover_add_source('mgr-single','127.0.0.1',23224,null,80);SELECTasynchronous_connection_failover_add_source('mgr-single','127.0.0.1',23225,null,50);startslaveforchannel'mgr-single';

4.检查异步复制通道是否启用failover。

mysql>SELECTCHANNEL_NAME,SOURCE_CONNECTION_AUTO_FAILOVERFROMperformance_schema.replication_connection_configuration;+--------------+---------------------------------+|CHANNEL_NAME|SOURCE_CONNECTION_AUTO_FAILOVER|+--------------+---------------------------------+|mgr-single|1|+--------------+---------------------------------+1rowinset(0.01sec

5.把MGR的primary节点kill掉,这个从节点会在尝试几轮重连失败后自动切换到次权重的复制源,其日志中会输出切换信息。

注意:当主节点故障,一旦复制链路成功failover后,在新的复制链路没有故障时,如果原主节点恢复,是不会回切的。如果当前复制链路发生故障,会再次选择权重高的进行切换

MySQL主从复制在主库中删除数据但在从库中不删除数据怎么配置

为什么不在从数据库中删除,而要在主数据库中删除?如果想主数据库删除而从数据库不删除,那又为什么要用主从复制?

.io是哪里的域名域名.io是哪里的

英属印度洋领地,是英国的海外领地,包含了印度洋上查戈斯群岛里总数达2300个的大小热带岛屿。

mysql5.5.29主从复制报错error connecting to master ******* -retry-time:60 retries:86400

没有连上贝,检查下是否有防火墙,还有就是服务器是否正常运转

MySQL的主从复制原理以及流程

原理:master将数据库的改变写入二进制日志,slave同步这些二进制日志,并根据这些二进制日志进行数据重演操作,实现数据异步同步。流程:1. slave端的IO线程发送请求给master端的binlog dump线程2. master端binlog dump线程获取二进制日志信息(文件名和位置信息)发送给slave端的IO线程3. salve端IO线程获取到的内容依次写到slave端relay log里,并把master端的bin-log文件名和位置记录到master.info里4. salve端的SQL线程,检测到relay log中内容更新,就会解析relay log里更新的内容,并执行这些操作,从而达到和master数据一致原理和流程就是这样了,如果在工作中遇到了,希望帮到你,还有不明白的,可以在网上多搜一下这方面的知识,我这些知识都是在黑马程序员社区看到的,你也可以去看看有没有想了解的。原理:master将数据库的改变bai写入二进制日志,slave同步这些二进制日志,并根据这些二进制日志进行数据重演操du作,实现数据异步同步。流zhi程:1. slave端的io线程发送请求给master端的binlog dump线程2. master端binlog dump线程获取二进制日志信息(文件名和位置信息)发送给daoslave端的io线程3. salve端io线程获取到的版内容依次写到slave端relay log里,并把master端的bin-log文件名和位置记录到master.info里4. salve端的s好的,如果有需要,随权时欢迎你的询问。流程如下:

1. 主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中;

2. 从:io线程——在使用start slave 之后,负责从master上拉取 binlog 内容,放进自己的relay log中;

3. 从:sql执行线程——执行relay log中的语句;

标签:主从复制,slave,failover,connection,复制,master,mysql,线程
From: https://blog.51cto.com/yetaotao/5808587

相关文章

  • MySQL数据库的唯一性约束(UNIQUE)
    一、数据库表的唯一性约束是什么MySQL唯一约束(UniqueKey)要求被约束的列中的数据唯一,允许为NULL,但只能出现一个NULL值。唯一约束可以确保一列或者几列不出现重复值。二、如......
  • MySQL的唯一约束(Unique Key),数据库设计必备
    一、数据库表的唯一性约束是什么MySQL唯一约束(UniqueKey)要求被约束的列中的数据唯一,允许为NULL,但只能出现一个NULL值。唯一约束可以确保一列或者几列不出现重复值。二、如......
  • MySQL优点你能说出来几个
    MySQL有诸多特点,你能说出来几个呢?MySQL体积很小(相对于Oracle小的太多了),并且执行速度快,性能高。最重要的是开源免费、成本极低,这也是MySQL流行的最重要原因。MySQL是使⽤C和C......
  • 命令行登录MySQL
    我用工具怎么连接不上mysql数据库的?不是提示了么:不是自己开的服务端不能连接。试着用mysql的命令行连接一下,根据相关的提示进行处理。一般要开放所需要的端口,设置用户的远......
  • MySQL的检查约束(Check),其实什么用也没有
    一、检查约束简介在标准SQL中,检查约束(CHECK)可以通过CREATETABLE或ALTERTABLE语句实现,根据用户实际的完整性要求来定义。例如限定某一列必须大于10小于20,限定某一列只......
  • mysql主从复制延迟解决
    mysql主从配置成功,但是过段时间再操作master,发现slave没有同步更新复制有延迟,slave想要尽可能及时跟上master的进度,可以尝试采用以下几种方法:1、采用MariaDB发行版,它实现了......
  • mysql主从配置及切换
    mysql主从分离是怎么配置的1、在主从服务器上都装上MySQL数据库,windows系统鄙人安装的是mysql_5.5.25.msi版本,Ubuntu安装的是mysql-5.6.22-linux-glibc2.5-i686.tarwindows......
  • MySQL的唯一性约束
    一、数据库表的唯一性约束是什么MySQL唯一约束(UniqueKey)要求被约束的列中的数据唯一,允许为NULL,但只能出现一个NULL值。唯一约束可以确保一列或者几列不出现重复值。二、如......
  • 踩坑了,MySQL到底大小写敏感还是不敏感
    一、MySQL是大小写敏感的吗MySQL在Windows下不区分大小写,但在Linux下默认是区分大小写。如果你稍加不注意就会出现在本机开发的程序运行一切正常,发布到服务器行就出现......
  • mysql事务实现原理详解
    说说MySQL中的RedologUndolog都在干啥undo日志用于存放数据修改被修改前的值,假设修改tba表中id=2的行数据,把Name='B'修改为Name='B2',那么undo日志就会用来存放Nam......