国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Table des matières
1. Détection des défauts: comment déterminer s'il y a un problème avec la bibliothèque principale?
2. Choisissez une nouvelle bibliothèque principale: qui prendra le relais?
3. Passez à la topologie: faites savoir aux autres n?uds qui est le nouveau ma?tre
4. Coopération de la couche d'application: n'oubliez pas le client
Maison base de données tutoriel mysql Qu'est-ce qu'un processus typique pour le basculement MySQL Master?

Qu'est-ce qu'un processus typique pour le basculement MySQL Master?

Jun 19, 2025 am 01:06 AM
mysql failover

Le basculement de la bibliothèque MySQL Master comprend principalement quatre étapes. 1. Détection des défauts: Vérifiez régulièrement le processus principal de la bibliothèque, l'état de la connexion et la requête simple pour déterminer s'il s'agit de temps d'arrêt, de définir un mécanisme de réessayer pour éviter une erreur de jugement et peut utiliser des outils tels que MHA, Orchestrator ou Keepalived pour aider à la détection; 2. Sélectionnez la nouvelle bibliothèque principale: sélectionnez la bibliothèque d'esclaves la plus appropriée pour les remplacer en fonction de la progression de la synchronisation des données (seconds_behind_master), de l'intégrité des données du binlog, du retard du réseau et des conditions de charge, et effectuez une compensation de données ou une intervention manuelle si nécessaire; 3. Commutation Topologie: pointez les autres bibliothèques d'esclaves à la nouvelle bibliothèque ma?tre, exécutez réinitialiser le ma?tre ou activer GTID, mettre à jour VIP, DNS ou configurations proxy pour obtenir une commutation transparente des applications; 4. Coopération de la couche d'application: les clients doivent prendre en charge la reconnexion automatique, la gestion des exceptions et les mécanismes DNS tels que la rafra?chissement du cache, combinés avec le middleware de la pool de connexion tels que le hikaricp pour améliorer la tolérance aux défauts et assurer la transition de service sans couture.

Qu'est-ce qu'un processus typique pour le basculement MySQL Master?

Le basculement de la bibliothèque MySQL Master est un lien clé dans une architecture à haute disponibilité. Le but est de transférer rapidement le trafic vers une bibliothèque d'esclaves lorsqu'une exception se produit dans la bibliothèque principale pour s'assurer que le service est en continu. Ce processus comprend généralement plusieurs étapes telles que la détection de défaillances, la sélection d'une nouvelle bibliothèque ma?tre et la commutation des connexions client.

1. Détection des défauts: comment déterminer s'il y a un problème avec la bibliothèque principale?

Confirmer automatiquement ou manuellement si la bibliothèque principale est vraiment des temps d'arrêt est la première étape de l'ensemble du processus. Une pratique courante consiste à détecter régulièrement l'état de santé de la bibliothèque principale via un système de surveillance, comme:

  • Vérifiez si le processus MySQL est en cours d'exécution
  • Essayez d'établir une connexion de base de données
  • Exécuter des requêtes SQL simples (telles que SELECT 1 )

Une fois qu'il échoue plusieurs fois de suite, la bibliothèque principale est considérée comme indisponible. Il convient de noter que la gigue de réseau peut également conduire à une erreur de jugement, donc un mécanisme de réessayer et un délai d'expiration sont généralement définis pour éviter une commutation inutile.

Certains outils tels que le MHA, l'orchestrateur ou Keepalived peuvent être utilisés pour la détection des défauts.

2. Choisissez une nouvelle bibliothèque principale: qui prendra le relais?

Après avoir confirmé que la bibliothèque ma?tre échoue, l'étape suivante consiste à sélectionner un n?ud approprié dans la bibliothèque d'esclaves existante en tant que nouvelle bibliothèque ma?tre.

Les critères de sélection comprennent généralement:

  • Progrès de la synchronisation des données (voir Seconds_Behind_Master )
  • Y a-t-il les dernières données de binlog
  • Latence et stabilité du réseau
  • Situation de chargement d'instance

Idéalement, vous devez choisir la bibliothèque d'esclaves qui est la plus proche de la bibliothèque ma?tre d'origine, ce qui peut réduire le risque de perte de données. Si plusieurs bibliothèques d'esclaves sont à la tra?ne en retard, une compensation de données ou une intervention manuelle peut être nécessaire.

MHA essaie automatiquement de remplir les journaux, tandis que l'orchestrateur peut afficher la topologie et prendre des décisions via l'API.

3. Passez à la topologie: faites savoir aux autres n?uds qui est le nouveau ma?tre

Après avoir déterminé la nouvelle bibliothèque ma?tre, la prochaine chose à faire est de pointer l'autre bibliothèque d'esclaves vers la nouvelle bibliothèque ma?tre et de mettre à jour la configuration de la couche d'application pour s'assurer que les demandes d'écriture arrivent correctement.

Les opérations spécifiques comprennent:

  • Exécuter RESET MASTER ou activer GTID dans la nouvelle bibliothèque principale
  • D'autres bibliothèques d'esclaves exécutent CHANGE MASTER TO pointer vers le nouveau ma?tre
  • Mettre à jour la configuration VIP ou DNS pour permettre aux applications de changer de manière transparente
  • Si vous utilisez un proxy (comme ProxySQL, maxscale), vous devez également mettre à jour sa configuration

La clé de cette étape est d'essayer d'être "transparente" et d'éviter les interruptions commerciales. Certaines solutions simplifieront également la logique de commutation en combinaison avec un mécanisme de découverte IP ou de service virtuel.

4. Coopération de la couche d'application: n'oubliez pas le client

Même si la commutation est terminée au niveau de la base de données, si l'application ne per?oit pas les modifications dans le temps, une erreur de connexion se produira toujours.

Pour traiter ce problème, les méthodes suivantes peuvent être prises en compte:

  • Utiliser le middleware de la pool de connexion pour prendre en charge la reconnexion automatique et la séparation en lecture-écriture
  • Ajouter la logique de réessayer et la gestion des exceptions au code client
  • En collaboration avec la stratégie de rafra?chissement du cache DNS, assurez-vous que l'application obtient la dernière adresse

Par exemple, en utilisant Hikaricp ou Mybatis à Spring Boot, vous pouvez définir le délai d'expiration de la connexion et le nombre maximal de tentatives pour améliorer la tolérance aux défauts.


Fondamentalement, ce sont les étapes. Bien que le processus global ne semble pas compliqué, il existe de nombreux détails dans le déploiement réel qui sont faciles à ignorer, tels que le retard de réplication, la cohérence GTID, la configuration d'autorisation et d'autres problèmes. Il est recommandé de faire plus d'exercices avant d'être officiellement lancé pour s'assurer que le basculement peut être exécuté en douceur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefa?on, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Réinitialiser le mot de passe racine pour MySQL Server Réinitialiser le mot de passe racine pour MySQL Server Jul 03, 2025 am 02:32 AM

Pour réinitialiser le mot de passe racine de MySQL, veuillez suivre les étapes suivantes: 1. Arrêtez le serveur MySQL, utilisez SudosystemCTlStopmysql ou SudosystemctlStopMysQLD; 2. Démarrez MySQL en - Skip-Grant-Tables, exécutez SudomysQld-Skip-Grant-Tables &; 3. Connectez-vous à MySQL et exécutez la commande SQL correspondante pour modifier le mot de passe en fonction de la version, telle que Flushprivileges; alterUser'root '@' localhost'identifiedby'your_new

Effectuer des sauvegardes logiques à l'aide de mysqldump dans MySQL Effectuer des sauvegardes logiques à l'aide de mysqldump dans MySQL Jul 06, 2025 am 02:55 AM

MySQLDump est un outil commun pour effectuer des sauvegardes logiques des bases de données MySQL. Il génère des fichiers SQL contenant des instructions de création et d'insertion pour reconstruire la base de données. 1. Il ne sauvegarde pas le fichier d'origine, mais convertit la structure de la base de données et le contenu en commandes SQL portables; 2. Il convient aux petites bases de données ou à la récupération sélective et ne convient pas à la récupération rapide des données de niveau TB; 3. 4. Utilisez la commande MySQL pour importer pendant la récupération et peut désactiver les vérifications des clés étrangères pour améliorer la vitesse; 5. Il est recommandé de tester régulièrement la sauvegarde, d'utiliser la compression et de régler automatiquement.

établir des connexions distantes sécurisées à un serveur MySQL établir des connexions distantes sécurisées à un serveur MySQL Jul 04, 2025 am 01:44 AM

ToseCurelyConnectToAremotemysQlServer, Usesshtunneling, ConfigureMysqlForremoteAccess, Setfirewallrules et Considersslincryption . Premier, établianshtunnelwithssh-l3307: localhost: 3306User @ Remote-Server-NandConnectViamysql-H127.0.0.1-P3307.Second, Editmys

Gestion des valeurs nuls dans les colonnes et requêtes MySQL Gestion des valeurs nuls dans les colonnes et requêtes MySQL Jul 05, 2025 am 02:46 AM

Lors de la gestion des valeurs nuls dans MySQL, veuillez noter: 1. Lors de la conception du tableau, les champs clés sont définis sur Notnull et les champs facultatifs sont autorisés nuls; 2. ISNULL ou ISNOTNULL doit être utilisé avec = ou! =; 3. Les fonctions IFNULL ou Coalesce peuvent être utilisées pour remplacer les valeurs par défaut d'affichage; 4. Soyez prudent lorsque vous utilisez des valeurs nulles directement lors de l'insertion ou de la mise à jour, et faites attention aux méthodes de traitement de la source de données et du cadre ORM. NULL représente une valeur inconnue et n'égale aucune valeur, y compris lui-même. Par conséquent, soyez prudent lorsque vous interrogez, comptez et connectez les tables pour éviter les données manquantes ou les erreurs logiques. L'utilisation rationnelle des fonctions et des contraintes peut réduire efficacement les interférences causées par NULL.

Analyser le journal de requête lent MySQL pour trouver des goulots d'étranglement des performances Analyser le journal de requête lent MySQL pour trouver des goulots d'étranglement des performances Jul 04, 2025 am 02:46 AM

Allumez les journaux de requête lente MySQL et analysez les problèmes de performances localisés. 1. Modifiez le fichier de configuration ou définissez dynamiquement Slow_Query_Log et Long_Query_time; 2. Le journal contient des champs clés tels que Query_time, Lock_time, ROWS_EXAMINE pour aider à juger les goulots d'étranglement de l'efficacité; 3. Utilisez les outils MySqlDumpSlow ou Pt-Query-digest pour analyser efficacement les journaux; 4. Les suggestions d'optimisation incluent l'ajout d'index, d'éviter la sélection *, le fractionnement des requêtes complexes, etc. Par exemple, l'ajout d'un index à user_id peut réduire considérablement le nombre de lignes numérisées et améliorer l'efficacité de la requête.

Agréger les données avec un groupe par et avoir des clauses dans MySQL Agréger les données avec un groupe par et avoir des clauses dans MySQL Jul 05, 2025 am 02:42 AM

GroupBy est utilisé pour regrouper les données par champ et effectuer des opérations d'agrégation, et avoir une utilisation est utilisée pour filtrer les résultats après le regroupement. Par exemple, l'utilisation de groupByCustomer_ID peut calculer la quantité de consommation totale de chaque client; L'utilisation d'avoir peut filtrer les clients avec une consommation totale de plus de 1 000. Les champs non agrégés après sélection doivent appara?tre dans GroupBY, et avoir peut être filtré conditionnellement à l'aide d'un alias ou d'expressions d'origine. Les techniques courantes incluent le comptage du nombre de chaque groupe, le regroupement de plusieurs champs et le filtrage avec plusieurs conditions.

Gestion des transactions et comportements de verrouillage dans MySQL Gestion des transactions et comportements de verrouillage dans MySQL Jul 04, 2025 am 02:24 AM

Les transactions MySQL et les mécanismes de verrouillage sont essentielles pour le contr?le et le réglage des performances simultanés. 1. Lorsque vous utilisez des transactions, assurez-vous d'exciter explicitement et de maintenir les transactions à court pour éviter l'occupation des ressources et les ballonnements undolog en raison de longues transactions; 2. Les opérations de verrouillage incluent des verrous partagés et des verrous exclusifs, SELECT ... Forupdate Plus X Locks, SELECT ... LOCKINSHAREMODE plus les verrous S, les opérations d'écriture automatiquement et les index doivent être utilisés pour réduire la granularité des verrous; 3. Le niveau d'isolement est lisible de manière répétitive par défaut, adapté à la plupart des scénarios et les modifications devraient être prudentes; 4. L'inspection de blocage peut analyser les détails de la dernière impasse via la commande showEngineInNodbStatus, et les méthodes d'optimisation incluent l'ordre d'exécution unifié, augmentent les index et introduisent des systèmes de file d'attente.

Résultats paginés avec limite et décalage dans MySQL Résultats paginés avec limite et décalage dans MySQL Jul 05, 2025 am 02:41 AM

La pagination MySQL est généralement mise en ?uvre en utilisant la limite et le décalage, mais ses performances sont médiocres sous un grand volume de données. 1. Limit contr?le le nombre de chaque page, le décalage contr?le la position de départ et la syntaxe est limitedoffsetm; 2. Les problèmes de performance sont causés par des enregistrements excessifs et la suppression des analyses de décalage, entra?nant une faible efficacité; 3. Les suggestions d'optimisation incluent l'utilisation de la pagination du curseur, de l'accélération d'index et du chargement paresseux; 4. Le curseur Paging localise le point de départ de la page suivante à travers la valeur unique du dernier enregistrement de la page précédente, en évitant le décalage, ce qui convient à l'opération "page suivante", et ne convient pas aux sauts aléatoires.

See all articles