问题描述:
程序上表现为对 主库 更新操作之后,从 从库 查询数据没发生改变。怀疑是主从库同步延迟导致。上从库查看主从同步状态,发现Seconds_Behind_Master时间长达一千多秒。正常情况下主从库延时个十几秒还可以容忍,一千多秒显然就有问题了么。。。
问题分析:
我们在一个MYSQL实例上创建了四五个Database,其中一个Database数据量和压力都比较大,从 从库的processlist可以看到从库在处理日志时经常发生lock的状况,但是lock只是压力大database为何会影响到其他database也延迟呢?
原来从库是单线程处理同步日志,也就是说无论多少个database都是通过一个线程去执行更新操作,所以主从库同步延迟的时间不是针对database的,是针对一个MYSQL实例的。
那么,为何从库在处理日志时会发生lock的状态呢?
一般我们都将主从库读写分离,主库负责写操作,从库负责读操作。而一般的web应用读数据的操作要远远大于写数据的量,所以我们在主库上几乎看不到因为更新数据导致的lock。那么从库的lock怎么发生的呢?
从上面可以看出,我们在select的时候默认是会阻塞写请求的,当一个表数据量到达了千万级别,那么执行一个select很有可能就会变得比较费劲,再加上一定的压力,不断地select操作,虽然读数据不会受到影响,但是却阻塞了从库处理同步日志的操作。长此以往。。。可想而知。。。
问题处理:
1.首先一个MYSQL实例不要创建太多database,否则一旦其中一个库压力大经常被锁,会导致所有库同步都延迟,你伤不起啊。。。
2.压力较大的情况下使用几个从库值得考量,如果使用多个从库也是可以适当缓解上面lock的情况发生。
分享到:
相关推荐
MySQL主从半同步复制是介于异步复制和全同步复制之间的一种模式,它提供了更好的数据安全性和一致性,同时也尽可能地减少了性能损失。 首先,我们来了解一下什么是MySQL半同步复制。在半同步复制模式下,主服务器在...
MySQL的主从复制和半同步复制是数据库集群中常见的高可用性和数据冗余策略,能够保证数据的一致性并提供故障恢复能力。本文将详细解释这两种复制方式的原理、配置步骤以及优缺点。 **一、MySQL主从复制** MySQL...
MySQL主从同步是一种数据库复制技术,它允许数据从一个MySQL服务器(称为“主服务器”)实时复制到另一个或多个服务器(称为“从服务器”)。这种配置对于数据备份、负载均衡和高可用性至关重要。在Java开发中,了解...
本文档将详细介绍如何在CentOS 6.6系统上安装MySQL 5.5.42,并配置主从同步。 1. **安装MySQL数据库** 在开始安装前,首先确保你的系统为CentOS 6.6,且是64位版本。通过SSH登录到服务器后,创建一个用于存放MySQL...
MySQL主从同步是一种常见的数据库高可用性和数据冗余策略,它允许数据在多个服务器之间实时复制,确保即使在一台服务器故障时,数据仍然可以被访问。以下是对搭建、修改和优化MySQL主从同步过程的详细解释: 1. **...
### MySQL实践备份恢复与主从复制 #### 备份恢复 **备份恢复**是数据库管理中的重要环节之一,尤其对于MySQL这种广泛使用的数据库系统来说更是如此。合理的备份策略能够确保数据的安全性和系统的稳定性。 ##### ...
主从复制是MySQL数据库的一种高可用性解决方案,其中一台服务器(主服务器)处理所有写操作,而其他服务器(从服务器)同步主服务器上的数据变化,从而形成一个读写分离的环境。这种设计模式有助于减轻主服务器的...
MySQL主从同步的核心在于主库(Master)记录更改操作的二进制日志(binlog),从库(Slave)通过IO线程从主库读取这些日志,并由SQL线程在从库上执行,以保证从库数据与主库一致。详细步骤包括: 1. 主服务器验证从...
MySQL数据库是世界上最受...总的来说,安装和配置MySQL数据库以及设置主从同步是一个涉及多个步骤的过程,需要细心操作并密切关注系统的运行状况。通过有效的监控,可以确保在生产环境中数据的安全性和服务的可靠性。
MySQL 主从复制是一种常见的数据备份和负载均衡技术,在多个服务器之间同步数据。通过设置一个或多个从服务器来复制主服务器上的数据变更操作,从而实现数据冗余和故障转移。主从复制不仅可以提高系统的可用性和容错...
MySQL的主从复制是一种常用的技术,它允许数据从一个服务器(主服务器)同步到另一个服务器(从服务器),从而实现数据备份、负载均衡和高可用性。 首先,我们来看一下如何在CentOS7上安装MySQL 5.7.19: 1. **...
### MySQL 主从配置详解 #### 一、为什么使用MySQL主从配置? 在现代数据库系统中,随着业务规模的不断扩大和用户数量的激增,单一数据库服务器往往难以满足高性能和高可用性的需求。为了提高系统的整体性能和可靠...
在实施MySQL主从同步时,主要分为以下几个步骤: 1. **环境准备**: - 首先,你需要准备两台已经安装了MySQL服务的Linux虚拟机,并确保它们在同一网络段内,可以相互ping通。关闭两台主机的防火墙,以允许数据传输...
MySQL主从复制是指在一个MySQL集群中,主服务器(Master)处理所有写操作,而从服务器(Slave)则同步主服务器上的数据变更,实现数据的一致性。这种方式可以确保在主服务器出现故障时,从服务器能够接管服务,保证...
MySQL 5.7主从复制是数据库高可用性和负载均衡的一种常见实现方式,它通过将主数据库(Master)上的写操作同步到一个或多个从数据库(Slave)来实现数据的冗余备份和读写分离。在Java开发中,MySQL主从复制常常用于...