Maison base de données tutoriel mysql Introduction détaillée au code source et au principe de réplication de la configuration maître-esclave mysql

Introduction détaillée au code source et au principe de réplication de la configuration maître-esclave mysql

Jul 24, 2018 pm 01:38 PM

Cet article parle principalement de l'implémentation de la réplication maître-esclave de MySQL et de la séparation lecture-écriture. Voici le code source de la réplication maître-esclave de MySQL. Comment installer la base de données mysql, je n'entrerai pas dans les détails ici, seulement sa réplication maître-esclave, les étapes sont les suivantes :

1. Les serveurs maître et esclave effectuent respectivement les opérations suivantes :
1.1 Les versions sont cohérentes
1.2 Initialiser la table et démarrer mysql en arrière-plan
1.3. Modifiez le mot de passe root

2. Modifiez le maître du serveur principal :
#vi /etc/my.cnf
[mysqld]
log-bin=mysql- bin //[Doit] Activer le journal binaire
server-id=222 //[Obligatoire] ID unique du serveur, la valeur par défaut est 1, prend généralement le dernier segment de l'IP

3. Modifier le serveur esclave esclave :
#vi /etc/my.cnf
[MySQLD]
Log-bin = MySQL-bin // [Pas nécessairement] Activer le journal binaire
serveur- id = 226 // La valeur par défaut est 1, prenez généralement le dernier segment de l'IP

4. Redémarrez le mysql des deux serveurs
/etc/init.d/mysql restart

5. Créez un compte sur le serveur principal et autorisez l'esclave :
#/usr/local/mysql/bin/mysql -uroot -pmttang
mysql>GRANT REPLICATION SLAVE ON *.* à 'mysync'@ '%' identifié par 'q123456'; // Généralement, le compte root n'est pas utilisé "%" signifie que tous les clients peuvent se connecter tant que le compte et le mot de passe sont corrects. l'adresse IP spécifique du client peut être utilisée à la place, par exemple 192.168.145.226, pour renforcer la sécurité.

6. Connectez-vous au mysql du serveur maître et interrogez l'état du maître
mysql>show master status;
+------- ------ -----+----------+--------------+------------ ------ +
| Fichier | Position | Binlog_Do_DB |
+-----------------+--------- -----------+------------------+
| mysql-bin.000004 | -----------------+----------+--------------+------ ------------+
1 ligne dans l'ensemble (0,00 sec)
Remarque : n'utilisez pas le serveur principal MYSQL après avoir effectué cette étape pour empêcher la valeur d'état du serveur principal de changer


7. Configurez le serveur esclave Slave : mysql>changez le maître en master_host='192.168.145.222',master_user='mysync',master_password='q123456',
master_log_file=' mysql-bin.000004',master_log_pos=308; //Attention à ne pas vous déconnecter, il n'y a pas de guillemets simples avant et après le nombre 308.

Mysql>start slave; //Démarrer la fonction de réplication du serveur esclave


8. Vérifiez l'état de la fonction de réplication du serveur esclave :
mysql> statut d'esclaveG

************************** 1. rangée ************* **** *************

Slave_IO_State : En attente que le maître envoie l'événement
Master_Host : 192.168.2.222 //Adresse du serveur maître
Master_User : mysync //Nom du compte autorisé, essayez d'éviter d'utiliser root
Master_Port : 3306 //Port de base de données, certaines versions n'ont pas cette ligne
Connect_Retry : 60
Master_Log_File : mysql-bin.000004
​ ​​ Read_Master_Log_Pos : 600 ​ //#Lecture synchrone La position du log binaire, supérieure ou égale à Exec_Master_Log_Pos
Relay_Log_File : ddte-relay-bin.000003
Relay_Log_Pos : 251
Relay_Master_Log_File : mys ql-bin .000004
Slave_IO_Running : Oui //Cet état doit être OUI
Slave_SQL_Running : Oui //Cet état doit être OUI
...

Remarque : les processus Slave_IO et Slave_SQL doivent fonctionner normalement , c'est-à-dire le statut OUI, sinon ils ont tous un mauvais statut (par exemple : l'un des NON est une erreur).

Après le processus opérationnel ci-dessus, la configuration des serveurs maître et esclave est terminée.


9. Test serveur maître-esclave :
Serveur maître Mysql, établissez une base de données, et créez une table dans cette base de données pour insérer une donnée :

mysql> ; créer une base de données hi_db;
  Requête OK, 1 ligne affectée (0,00 s)

  mysql> utiliser hi_db;
  Base de données modifiée

  mysql>  create table hi_tb(id int(3),name char(10));
  Requête OK, 0 ligne affectée (0,00 s)
 
  mysql> insérer dans les valeurs hi_tb(001,'bobu');
  Requête OK, 1 ligne affectée (0,00 s)

  mysql> afficher les bases de données ;
   +--------------------+
   | Base de données           |
   +--------------------+
   | information_schema |
   | hi_db                |
   | mysql                |
   | test                 |
   +--------------------+
   4 lignes dans l'ensemble (0,00 sec)

从服务器Mysql查询:

   mysql> afficher les bases de données ;

   +--------------------+
   | Base de données               |
   +--------------------+
   | information_schema |
   | hi_db                 |       //Je suis là,大家看到了吧
   | mysql                 |
   | test          |

   +--------------------+
   4 lignes dans l'ensemble (0,00 sec)

   mysql> utiliser hi_db
   Base de données modifiée
   mysql> sélectionnez * dans hi_tb ;           //查看主服务器上新增的具体数据
   +------+------+
   | identifiant   | nom |
   +------+------+
   |    1 | bobu |
   +------+------+
   1 ligne dans la série (0,00 sec)
 

10、完成:
    编写一shell脚本,用nagios监控slave的两个yes(Slave_IO及Slave_SQL进程),如发现只有一个或零个yes,就表明主从有问题了,发短信警报吧。

相关推荐:

Moniteur MySQL

详解MySQL实现主从复制过程-mysql教程

mysql教程:MySQL如何实现主从复制过程的示例详解


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

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.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

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)

Comment modifier une table dans MySQL en utilisant l'instruction ALTER TABLE? Comment modifier une table dans MySQL en utilisant l'instruction ALTER TABLE? Mar 19, 2025 pm 03:51 PM

L'article discute de l'utilisation de l'instruction ALTER TABLE de MySQL pour modifier les tables, notamment en ajoutant / abandon les colonnes, en renommant des tables / colonnes et en modifiant les types de données de colonne.

Comment configurer le cryptage SSL / TLS pour les connexions MySQL? Comment configurer le cryptage SSL / TLS pour les connexions MySQL? Mar 18, 2025 pm 12:01 PM

L'article discute de la configuration du cryptage SSL / TLS pour MySQL, y compris la génération et la vérification de certificat. Le problème principal est d'utiliser les implications de sécurité des certificats auto-signés. [Compte de caractère: 159]

Quels sont les outils de GUI MySQL populaires (par exemple, MySQL Workbench, PhpMyAdmin)? Quels sont les outils de GUI MySQL populaires (par exemple, MySQL Workbench, PhpMyAdmin)? Mar 21, 2025 pm 06:28 PM

L'article traite des outils de GUI MySQL populaires comme MySQL Workbench et PhpMyAdmin, en comparant leurs fonctionnalités et leur pertinence pour les débutants et les utilisateurs avancés. [159 caractères]

Comment gérez-vous les grands ensembles de données dans MySQL? Comment gérez-vous les grands ensembles de données dans MySQL? Mar 21, 2025 pm 12:15 PM

L'article traite des stratégies pour gérer de grands ensembles de données dans MySQL, y compris le partitionnement, la rupture, l'indexation et l'optimisation des requêtes.

Expliquez les capacités de recherche en texte intégral InNODB. Expliquez les capacités de recherche en texte intégral InNODB. Apr 02, 2025 pm 06:09 PM

Les capacités de recherche en texte intégral d'InNODB sont très puissantes, ce qui peut considérablement améliorer l'efficacité de la requête de la base de données et la capacité de traiter de grandes quantités de données de texte. 1) INNODB implémente la recherche de texte intégral via l'indexation inversée, prenant en charge les requêtes de recherche de base et avancées. 2) Utilisez la correspondance et contre les mots clés pour rechercher, prendre en charge le mode booléen et la recherche de phrases. 3) Les méthodes d'optimisation incluent l'utilisation de la technologie de segmentation des mots, la reconstruction périodique des index et l'ajustement de la taille du cache pour améliorer les performances et la précision.

Comment déposez-vous une table dans MySQL à l'aide de l'instruction TABLE DROP? Comment déposez-vous une table dans MySQL à l'aide de l'instruction TABLE DROP? Mar 19, 2025 pm 03:52 PM

L'article discute de la suppression des tables dans MySQL en utilisant l'instruction TABLE DROP, mettant l'accent sur les précautions et les risques. Il souligne que l'action est irréversible sans sauvegardes, détaillant les méthodes de récupération et les risques potentiels de l'environnement de production.

Comment représentez-vous des relations en utilisant des clés étrangères? Comment représentez-vous des relations en utilisant des clés étrangères? Mar 19, 2025 pm 03:48 PM

L'article discute de l'utilisation de clés étrangères pour représenter les relations dans les bases de données, en se concentrant sur les meilleures pratiques, l'intégrité des données et les pièges communs à éviter.

Comment créez-vous des index sur les colonnes JSON? Comment créez-vous des index sur les colonnes JSON? Mar 21, 2025 pm 12:13 PM

L'article discute de la création d'index sur les colonnes JSON dans diverses bases de données comme PostgreSQL, MySQL et MongoDB pour améliorer les performances de la requête. Il explique la syntaxe et les avantages de l'indexation des chemins JSON spécifiques et répertorie les systèmes de base de données pris en charge.

See all articles