首页 > 数据库 >mysql主从复制延迟

mysql主从复制延迟

时间:2022-10-27 10:34:24浏览次数:58  
标签:主从复制 mysql 存储 MySQL 从库 优化 延迟


mysql出现主从同步延迟有哪些原因

1.从库太多导致复制延迟

优化:建议从库数量3-5个为宜

2.从库硬件比主库硬件差

优化:提升硬件性能

3.慢SQL语句过多

优化:SQL语句执行时间太长,需要优化SQL语句

4.主从复制的设计问题

优化:主从复制单线程,可以通过多线程IO方案解决;另外MySQL5.6.3支持多线程IO复制。

5.主从库之间的网络延迟

优化:尽量链路短,提升端口带宽

6.主库读写压力大

优化:前端加buffer和缓存。主从延迟不同步:

不管有多延迟,只要不影响业务就没事

7、业务设计缺陷导致延迟影响业务

优化:从库没有数据改读主库

求:mysql5.6主从复制延迟解决的办法?延迟时间超过一天,所以求解决的办法?

在老版本的MySQL3.22中,MySQL的单表限大小为4GB,当时的MySQL的存储引擎还是ISAM存储引擎。但是,当出现MyISAM存储引擎之后,也就是从MySQL3.23开始,MySQL单表最大限制就已经扩大到了64PB了(官方文档显示)。也就是说,从目前的技术环境来看,MySQL数据库的MyISAM存储引擎单表大小限制已经不是有MySQL数据库本身来决定,而是由所在主机的OS上面的文件系统来决定了。

而MySQL另外一个最流行的存储引擎之一Innodb存储数据的策略是分为两种的,一种是共享表空间存储方式,还有一种是独享表空间存储方式。

当使用共享表空间存储方式的时候,Innodb的所有数据保存在一个单独的表空间里面,而这个表空间可以由很多个文件组成,一个表可以跨多个文件存在,所以其大小限制不再是文件大小的限制,而是其自身的限制。从Innodb的官方文档中可以看到,其表空间的最大限制为64TB,也就是说,Innodb的单表限制基本上也在64TB左右了,当然这个大小是包括这个表的所有索引等其他相关数据。

而当使用独享表空间来存放Innodb的表的时候,每个表的数据以一个单独的文件来存放,这个时候的单表限制,又变成文件系统的大小限制了。

本回答由网友推荐

如何解决mysql主从复制带来的数据延迟问题

在老版本的MySQL 3.22中,MySQL的单表限大小为4GB,当时的MySQL的存储引擎还是ISAM存储引擎。但是,当出现MyISAM存储引擎之后,也就是从MySQL 3.23开始,MySQL单表最大限制就已经扩大到了64PB了(官方文档显示)。也就是说,从目前的技术环境来看,MySQL数据库的MyISAM存储 引擎单表大小限制已经不是有MySQL数据库本身来决定,而是由所在主机的OS上面的文件系统来决定了。 而MySQL另外一个最流行的存储引擎之一Innodb存储数据的策略是分为两种的,一种是共享表空间存储方式,还有一种是独享表空间存储方式。 当使用共享表空间存储方式的时候,Innodb的所有数据保存在一个单独的表空间里面,而这个表空间可以由很多个文件组成,一个表可以跨多个文件存在,所 以其大小限制不再是文件大小的限制

mysql出现主从同步延迟有哪些原因

1.从库太多导致复制延迟

优化:建知议从库数量3-5个为宜

2.从库硬件比主库硬件差

优化道:提升硬件性能

3.慢SQL语句过多

优化:SQL语句执行时间太长,需要优化SQL语句

4.主从复制的设计问题

优化:主从复制单线程,可以通过多线程IO方案解决;另外MySQL5.6.3支持多线程IO复制。

5.主从库之间的网络延迟

优化:尽量链路短,提升端口带宽专

6.主库读写压力大

优化:前端加buffer和缓存。主从延迟不同步:

不管有多延迟,只要属不影响业务就没事

7、业务设计缺陷导致延迟影响业务

优化:从库没有数据改读主库

标签:主从复制,mysql,存储,MySQL,从库,优化,延迟
From: https://blog.51cto.com/yetaotao/5800203

相关文章

  • mysql主从复制原理详解32讲
    请问Mysql的主从复制原理是什么?如果我要实现主从复制,需要怎么操作呢?(如果有具体教程就最好了)可以参考这篇文章下面关于数据库主从复制机制的原理概述,哪个是错误的?主库的主......
  • mysql主从复制原理过程
    mysql的主从复制和主主复制的区别最大区别是主从是对主操作数据,从会实时同步数据。反之对从操作,主不会同步数据,还有可能造成数据紊乱,导致主从失效。主主则是无论对那一台操......
  • 数据库mysql主从复制
    mysql主从复制是怎么工作的呢?说说各个线程具体做了什么吧要实现MySQL的Replication,首先必须打开Master端的BinaryLog,因为整个复制过程实际上就是Slave从Master端获取该日志......
  • ImportError: libmysqlclient.so.20: cannot open shared object file: No such file
    报错:Traceback(mostrecentcalllast):File"/usr/local/lib64/python3.6/site-packages/MySQLdb/__init__.py",line18,in<module>from.import_mysqlI......
  • MySQL 命令大全
    非常不错的总结,强烈建议保存下来,需要的时候看一看。基本操作/*Windows服务*/--启动MySQLnetstartmysql--创建Windows服务sccreatemysqlbinPath=my......
  • MySQL之——MySQL5.7以上my.cnf 配置文件详解
    简单配置,低配置服务器配置[client]#客户端设置port=3306socket=/data/mysql/data/mysql.sockdefault-character-set=utf8mb4[mysqld]user=mysql......
  • Mysql DDL 大表 遇到的问题
    一张表yunpan_item大概有十几万的数据,上面有一个FullTextindex。altertableyunpan_itemaddcolumn`data_index`bigintCOMMENT'帖子id'aftersource;......
  • MySQL 8.x 解压版的安装步骤
    点击查看代码[mysql]#设置mysql客户端默认字符集default-character-set=utf8[mysqld]#设置3306端口port=3306#设置mysql的安装目录basedir=D:\mysql-8.0......
  • jdbc入门案例学习,java如何连接mysql,如何和mysql进行连接
    在学习了java基础和mysql以及SQL语法之后,那我们可以开始学习如何程序对数据库的数据进行操作,基本操作就是,查询,新增,更新,删除,四个基本操作,也是全部操作。这节我们将通过jdb......
  • JDBC连接MySQL(简单)
    JDBC连接MySQL    加载及注册JDBC驱动程序         Class.forName("com.mysql.jdbc.Driver");         Class.forName("com......