


Introduction détaillée au code source et au principe de réplication de la configuration maître-esclave mysql
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,就表明主从有问题了,发短信警报吧。
相关推荐:
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!

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

AI Hentai Generator
Générez AI Hentai gratuitement.

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)

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.

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]

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]

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.

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.

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.

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.

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.
