Développement de programme

MySQL 5.5 Base de données Master Slave Synchronization Tutoriel

Les dirigeants de l'entreprise ont dit qu 'ils voulaient faire une recherche synchrone dans la base de données, obtenir un tutoriel en ligne, les résultats de Baidu n n fois ne fonctionnent pas, est également ivre, Google peut être bon pour regarder OK, ci-dessous [...]

Catalogue des articles

Le dirigeant de Yao a dit qu 'il voulait faire une recherche de synchronisation de base de données, obtenir un tutoriel en ligne, le résultat Baidu n n fois ne fonctionne pas, est également ivre, Google peut être bon, ci-dessous Huazai a généralement trié le tutoriel de synchronisation de base de données mysql 5.5 maître-esclave

192.168.21.169

192.168.21.168

Configurer le serveur principal MySQL (192.168.21.169)

mysql - urot - p # Entrez dans la console MySQL

Créer la base de données osyunweidb ; # Créer une base de donnéesosyunweidb

insérer dans les valeurs mysql.user(Host,User,Password) ('localhost', 'osyunweiuser', password('123456') ; # Créer un utilisateur osyunweiuser

privilèges flush ; # Refresh la table d'autorisation système

Accorder l'esclave de réplication sur * * * to 'osyunweidbbak'@'192.168.21.168 ' identifié par '123456 ' avec option grant ; # Créer un utilisateur de synchronisation de base de données MySQL maître-esclave, l'utilisateur autoriséosyunweidbbak ne peut accéder à la base de données au-dessus du serveur maître 192.168.21.169 que depuis cette IP 192.168.21.168 et n'a que les autorisations de sauvegarde de la base de données

Configuration du fichier my.ini du serveur principal MySQL L'emplacement est dans le répertoire racine mysql

# Modifier le fichier de configuration, ajouter ce qui suit dans la section [mysqld]

Serveur-ID = 1 # définir l'id du serveur, 1 pour indiquer le serveur principal, Remarque : si cette ligne est déjà dans le fichier de configuration d'origine, il n'est pas nécessaire d'ajouter.

log _ bin = =mysql-bin # Démarrer le système de journalisation binaire MySQ, Remarque : si cette ligne est déjà dans le fichier de configuration d'origine, il n'est pas nécessaire d'ajouter une autre. Faites attention particulière à ce que votre adresse de journal est écrite...

binlog-do-db =osyunweidb # Nom de la base de données à synchroniser. Si vous avez plusieurs bases de données, vous pouvez répéter cet argument, une ligne par base de données.

Binlog-ignore - db = mysql # désynchroniser la base de données mysql système

service mysqld restart : redémarrer mysql

mysql - u root - p Entrer dans la console mysql

afficher le statut du maître ; afficher le serveur principal et afficher des informations similaires aux suivantes

+ - -

| fichier | Position| Binlog _ Do _ DB| Binlog _ Ignore _ DB|

+ - -

| mysql-bin.000019 |   7131 | Osyunweidb | MySQL |

+ - -

1 rangée en jeu (0,00 sec)

Remarque : rappelez-vous ici la valeur de Fichier : mysql-bin.000019 et la valeur de Position : 7131, qui seront utilisés plus tard.

Configuration du fichier my.ini du serveur esclave MySQL

# Modifier le fichier de configuration, ajouter ce qui suit dans la section [mysqld]

Serveur-ID = 2 # Il y a déjà une ligne server-id = 1 dans le fichier de configuration, modifier sa valeur à 2 pour indiquer qu 'elle est depuis la base de données

log-bin =mysql-bin # Démarrer le système de journalisation binaire MySQ, Remarque : si cette ligne est déjà dans le fichier de configuration d'origine, il n'est pas nécessaire d'ajouter une autre.Faites attention particulière à ce que votre adresse de journal est écrite...

répliquer-do - db = osyunweidb # Nom de la base de données à synchroniser. Si vous avez plusieurs bases de données, vous pouvez répéter ce paramètre, une ligne par base de données.

replicate-ignore - db = mysql # désynchroniser la base de données mysql système

Service mysqld redémarrer # Redémarrer MySQL

Remarque : après la version 5.1.7, l'écriture de l'attribut de configuration master dans le fichier de configuration my.cnf n'est plus prise en charge, il suffit d'écrire la base de données synchronisée et la base de données à ignorer.

mysql - u root - p # Entrer dans la console MySQL

Slave Stop, # Stop Slave Synchronization Processus

changement de master à master_host='192.168.21.169',master_user='osyunweidbbak',master_password='123456',master_log_file='mysql-bin.000019«, master_log_pos=7131; Exécuter une synchronisation
Le nom du fichier et l'emplacement doivent être remplis en fonction de leur situation réelle.
Slave démarrage ; # ouvrir le processus de synchronisation esclave

Afficher le statut d'esclave \ G # Afficher les informations de synchronisation de l'esclave, ce qui suit apparaît

* * * * * * * * * * * * * * * * * * *. * * * * * * * * * *

Slave_IO_State : Attendez que le maître envoie un événement

Master _ Host : www.example.com

Master _ Utilisateur : osyunweidbbak

Port maître : 3306

Connect _ Retry : 30

Master_Log_File : mysql-bin.000019

Read _ Master _ Log _ Pos : 7131

Relay _ Log _ File : MySQLSlave-relay-bin.000002

Relay_Log_Pos : 253

Relay_Master_Log_File : mysql-bin.000019

Slave _ IO _ Running : Oui

Slave _ SQL _ Running : Oui

Répliquer _ Do _ DB : osyunweidb

Replicate _ Ignore _ DB : mysql

Réplication _ Do _ Table :

Replicate _ Ignore _ Table :

1 rangée en jeu (0,00 sec)

Faites attention à la révision :

Slave _ IO _ Running : Oui

Slave _ SQL _ Running : Oui

Les deux paramètres ci-dessus ont une valeur de Oui, ce qui signifie que la configuration a réussi !

V. Testez si le serveur maître-esclave MySQL double machine de veille à chaud réussit ou non

Accéder au serveur MySQL principal

mysql - u root - p # Entrez dans la console MySQL du serveur principal

Utilisation de Osyunweidb # Entrez dans la base de données

CREATE TABLE test (id int non null primary key,name char(20)) ; # Créer une table de tests

Entrez dans le serveur esclave MySQL

mysql - u root - p # Entrer dans la console MySQL

Utilisation de Osyunweidb # Entrez dans la base de données

show tables ; # Examinez la structure de la table osyunweidb et vous verrez qu 'il y a une nouvelle table test, indiquant que la synchronisation de la base de données a réussi.