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.