MySQL主从复制不一致的解决办法
稍微有些规模的网站,基本上都会配置mysql主从复制,一方面用mysql的主从做数据库的读写分离,另一方面mysql本身的单机备份不是很强,一般采用主从架构,在从上进行数据备份。
在MySQL主从复制程中或多少出现一些主从不同步的情况,本文将对数据主从不同步的情况进行简单的总结,请注意本文主要从数据库层面上探讨数据库的主从不一致的情况。
1.网络的延迟
由于mysql主从复制是基于binlog的一种异步复制,通过网络传送binlog文件,理所当然网络延迟是主从不同步的绝大多数的原因,特别是跨机房的数据同步出现这种几率非常的大,所以做读写分离,注意从业务层进行前期设计。
2.主从两台机器的负载不一致
由于mysql主从复制是主数据库上面启动1个io线程,而从上面启动1个sql线程和1个io线程,当中任何一台机器的负载很高,忙不过来,导致其中的任何一个线程出现资源不足,都将出现主从不一致的情况。
3.max_allowed_packet设置不一致
主数据库上面设置的max_allowed_packet比从数据库大,当一个大的sql语句,能在主数据库上面执行完毕,从数据库上面设置过小,无法执行,导致的主从不一致。
4.key自增键开始的键值跟自增步长设置不一致引起的主从不一致。
5.mysql异常宕机情况下,如果未设置sync_binlog=1或者innodb_flush_log_at_trx_commit=1很有可能出现binlog或者relaylog文件出现损坏,导致主从不一致。
6.mysql本身的bug引起的主从不同步。
7.版本不一致,特别是高版本是主,低版本为从的情况下,主数据库上面支持的功能,从数据库上面不支持该功能。
以上就是常见的一些主从不同步的情况。或许还有其他的一些不同步的情况,请说出你所遇到的主从不一致的情况。
基于以上情况,先保证max_allowed_packet、自增键开始点和增长点设置一致,再者牺牲部分性能在主上面开启sync_binlog,对于采用innodb的库,推荐配置下面的内容
代码如下 | 复制代码 |
1、innodb_flush_logs_at_trx_commit = 1 |
同时在从数据库上面推荐加入下面两个参数
1、skip_slave_start
2、read_only

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Avec le développement rapide d'Internet, les applications Web intègrent de plus en plus les opérations de bases de données. MySQL est un système de base de données relationnelle de renommée mondiale et largement utilisé. Dans les applications Web hautement concurrentes, la réplication maître-esclave MySQL est un moyen important d'améliorer les performances et la disponibilité des bases de données. Cet article explique comment utiliser PHP pour implémenter la réplication maître-esclave de la base de données MySQL. 1. Qu'est-ce que la réplication maître-esclave MySQL ? La réplication maître-esclave MySQL fait référence à la copie de données d'un serveur de base de données MySQL vers un autre serveur.

Construire un cluster MySQL hautement disponible : guide des meilleures pratiques pour la réplication maître-esclave et l'équilibrage de charge Ces dernières années, avec le développement rapide d'Internet, la base de données est devenue l'un des principaux moteurs de stockage et de traitement de données pour la plupart des applications Web. Dans ce scénario, la haute disponibilité et l’équilibrage de charge sont devenus des considérations importantes dans la conception de l’architecture de base de données. En tant que l'une des bases de données relationnelles open source les plus populaires, la solution de déploiement de cluster de MySQL a attiré beaucoup d'attention. Cet article explique comment implémenter un cluster de bases de données hautement disponible via la réplication maître-esclave MySQL et l'équilibrage de charge.

La base de données MySQL est un système de gestion de bases de données relationnelles très populaire qui prend en charge une variété de technologies de réplication de données, parmi lesquelles la plus couramment utilisée est la technologie de réplication maître-esclave. Cet article présentera la technologie de réplication de données maître-esclave dans MySQL, y compris les principes, les méthodes de mise en œuvre, les problèmes courants et les contre-mesures. 1. Principe de la technologie de réplication maître-esclave La technologie de réplication maître-esclave de MySQL peut copier les données d'une base de données MySQL sur d'autres serveurs pour réaliser la sauvegarde des données, l'équilibrage de charge, la séparation en lecture-écriture et d'autres fonctions. Son principe de base est de convertir la base de données principale

Redis est un système de stockage clé-valeur open source basé sur la mémoire qui est couramment utilisé dans des scénarios tels que la mise en cache, la mise en file d'attente et le traitement des données en temps réel. Dans les applications à grande échelle, afin d'améliorer la disponibilité et les performances de Redis, il est souvent nécessaire d'adopter une architecture distribuée, dans laquelle la réplication maître-esclave est un mécanisme couramment utilisé. Cet article présentera la fonction de réplication maître-esclave de Redis, y compris la définition, le principe, la configuration et les scénarios d'application. 1. La définition de la réplication maître-esclave Redis fait référence à la synchronisation automatique des données d'un nœud Redis (c'est-à-dire le nœud maître) vers d'autres nœuds (c'est-à-dire le nœud esclave).

Comment configurer la réplication maître-esclave de la base de données MySQL ? La réplication maître-esclave de la base de données MySQL est une solution courante de sauvegarde des données et de haute disponibilité. En configurant la réplication maître-esclave, vous pouvez synchroniser les données d'un serveur MySQL (serveur maître) à un autre (serveur esclave), améliorant ainsi la disponibilité et les performances de la base de données. Ce qui suit décrit comment configurer la réplication maître-esclave dans une base de données MySQL et fournit des exemples de code correspondants. Assurez-vous que le serveur MySQL est installé et démarré. Tout d'abord, assurez-vous que MySQL est installé sur votre système.

Équilibrage de charge et reprise après sinistre en mode cluster : analyse approfondie et pratique de la réplication maître-esclave MySQL Avec le développement rapide de l'industrie Internet, la demande de stockage et de traitement des données est de plus en plus élevée. En réponse à un accès simultané élevé et à un stockage massif de données, le mode cluster est devenu une solution courante. L'équilibrage de charge et la reprise après sinistre sont des composants importants du système de cluster, et la réplication maître-esclave MySQL est une méthode largement utilisée. Cet article abordera l'équilibrage de charge et la reprise après sinistre en mode cluster, en se concentrant sur le principe de la réplication maître-esclave MySQL.

Réplication maître-esclave et architecture haute disponibilité dans MySQL À mesure que les applications Internet et les volumes de données continuent de croître, la haute disponibilité et l'évolutivité de la base de données deviennent de plus en plus importantes. En tant que base de données relationnelle open source largement utilisée, MySQL fournit des solutions de réplication maître-esclave et d'architecture haute disponibilité. La réplication maître-esclave fait référence au processus d'utilisation d'une instance de base de données MySQL comme base de données maître et de réplication de ses données vers une ou plusieurs bases de données esclaves (esclave). Cette méthode de réplication peut réaliser une sauvegarde redondante des données et une séparation de la lecture et de l'écriture.

Memcached est un système de mise en cache d'objets à mémoire distribuée open source et hautes performances qui peut être utilisé pour accélérer les applications Web et fonctionne particulièrement bien dans la mise en cache de données à grande échelle. Pour ce système, la réplication maître-esclave est une fonction très importante, qui peut être utilisée pour garantir la fiabilité et la haute disponibilité des données. Cet article explique comment utiliser PHP pour implémenter la réplication maître-esclave de la base de données Memcached. Introduction au mode maître-esclave Le mode maître-esclave est une structure distribuée du serveur Memcached. Il est constitué d'au moins deux serveurs : un.
