Maison >base de données >tutoriel mysql >Explication détaillée de la méthode de configuration du double maître mysql

Explication détaillée de la méthode de configuration du double maître mysql

藏色散人
藏色散人avant
2021-09-15 17:30:202295parcourir

Supposons que les adresses IP des deux machines sont la machine un : 192.168.14.37, la machine deux : 192.168.14.38 et que le serveur est Linux Rhel 5.9

Exécutez l'instruction de création d'utilisateur dans les deux serveurs :

mysql:>create user 'repl'@'%' identified by '135246';       -- 创建用户  repl  密码 135246

Exécution du serveur 1 :

mysql:>grant replication client,replication slave on *.* to 'repl'@'192.168.14.38' identified by '135246';    -- 授权服务器一可以远程访问服务器二

Exécution du serveur 2 :

mysql:>grant replication client,replication slave on *.* to 'repl'@'192.168.14.37' identified by '135246';     -- 授权服务器二可以远程访问服务器一

Vérification (entrez le mot de passe selon l'invite) :
Connectez-vous au serveur deux sur le serveur un

mysql -h 192.168.14.38 -u repl -p

Connectez-vous au serveur un sur le serveur deux

mysql -h 192.168.14.37 -u repl -p

Affichez mysql :

Premier : vi /etc/my.cnfvi /etc/my.cnf
  在服务器1, 添加如下内容:

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
server_id = 1
log-bin
character-set-server=utf8
#表名不区分大小写
lower_case_table_names=1
#server_id = 1 # uniquely identify  从为2


show master  status

可以得到服务器一和服务器二的  MASTER_LOG_FILE  和  MASTER_LOG_POS 信息,

假设服务器一为   " localhost-bin.000004" 和 "120"


   服务器二为   " localhost-bin.000005" 和 "667"

在服务器一上执行:

stop slave;

CHANGE MASTER TO MASTER_HOST = '192.168.14.38', MASTER_USER = 'repl', MASTER_PASSWORD = '135246', MASTER_LOG_FILE = 'localhost-bin.000004', MASTER_LOG_POS = 120; 

start slave;

在服务器二上执行:

stop slave;

CHANGE MASTER TO MASTER_HOST = '192.168.14.37', MASTER_USER = 'repl', MASTER_PASSWORD = '135246', MASTER_LOG_FILE = 'localhost-bin.000005', MASTER_LOG_POS = 667; 

start slave;

最后验证主主同步是否成功:

在服务器一 mysql 添加 表 example

mysql:> create database example1 ;

use example1;

create table example1 (length int);

最后在服务器二查看是否有此数据库,此表,和此条数据.

查看同步状态 :show slave status G Sur le serveur 1, ajoutez le contenu suivant :

rrreee

Vous pouvez obtenir les informations MASTER_LOG_FILE et MASTER_LOG_POS du serveur un et du serveur deux

rrreee

Exécuter sur le serveur un :

rrreee

Exécuter sur le serveur deux :

rrreee

Vérifiez enfin le maître. -master synchronisation Si elle réussit : Ajoutez l'exemple de table
rrreee

à mysql sur le serveur un. Enfin, vérifiez s'il y a cette base de données, cette table et ces données sur le serveur deux.
🎜Vérifiez l'état de synchronisation : show slave status G 🎜🎜Si une erreur se produit, vous pouvez voir le journal des erreurs. 🎜🎜Les erreurs provoquant un échec de synchronisation se réfèrent à mysql slave-skip-errors=all pour une compréhension approfondie🎜🎜Remarque : avant de définir le double maître, les deux serveurs ne seront pas synchronisés ;🎜🎜Apprentissage recommandé : "🎜Tutoriel vidéo 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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer