Heim > Datenbank > MySQL-Tutorial > So richten Sie den Master-Slave-Synchronisationsvorgang in MySQL ein

So richten Sie den Master-Slave-Synchronisationsvorgang in MySQL ein

PHPz
Freigeben: 2023-05-27 18:43:12
nach vorne
1642 Leute haben es durchsucht

1. MySQL 8.0 Master-Slave-Synchronisation

Master-Slave-Synchronisationsprozess (Prinzip):

  • # 🎜 🎜#master zeichnet Änderungen in der binären Protokolldatei (Binärprotokoll) auf, d. h. der von log-bin in der Konfigurationsdatei angegebenen Datei. Diese Datensätze werden als binäre Protokollereignisse bezeichnet.
  • master 将变动记录到二进制日志文件(binary log)中,即配置文件中 log-bin 指定的文件,这些记录叫做二进制日志事件(binary log events);

  • master 将二进制日志文件发送给 slave;

  • slave 通过 I/O 线程读取文件中的内容写到 relay 日志中;

  • slave 执行 relay 日志中的事件,完成数据在本地的存储。

搭建主从需要注意的事项:

  • 主从服务器操作系统版本和位数一致;

  • MasterSlave 数据库版本要一致;

  • Master 和 Slave 数据库中的数据要一致;

  • Master 开启二进制日志, Master 和 Slave 的 server_id 在局域网内必须唯一。

二、MySQL主从搭建

2.1 Master 上的操作

修改 master 的配置( my.cnf)加入下面的内容:

[mysqld]
  log-bin=mysql-bin
  # id 必须唯一!!!
  server-id=1
Nach dem Login kopieren

重启 master:

systemctl restart mysql
Nach dem Login kopieren
Nach dem Login kopieren

在 master 中创建用于主从同步的用户:

mysql> # 创建用户
mysql> CREATE USER 'hugh'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
mysql> # 授权用户
mysql> GRANT REPLICATION SLAVE ON *.* TO 'hugh'@'%';
mysql> # 刷新权限
mysql> FLUSH PRIVILEGES;
Nach dem Login kopieren

查看主服务器状态:

show master status;
Nach dem Login kopieren

记录下 FilePosition 的值,之后要用到。

2.2 Slave 上的操作

修改slave 的配置( my.cnf)加入下面的内容:

[mysqld]
  # id 必须唯一!!!
  server-id=2
Nach dem Login kopieren

重启 slave:

systemctl restart mysql
Nach dem Login kopieren
Nach dem Login kopieren

登录 MySQL 并运行以下命令,设置主节点参数:

mysql> CHANGE MASTER TO
MASTER_HOST='master的IP地址',
MASTER_USER='hugh',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='binlog.000006',
MASTER_LOG_POS=856;
Nach dem Login kopieren

最后两行就是我们记录下的 File Positionmaster Binäre Protokolldatei an Slave senden;

slave </li > code>Lesen Sie den Inhalt der Datei über den E/A-Thread und schreiben Sie ihn in das Relay-Protokoll im Relay-Protokoll, vollständige Datenspeicherung lokal. </strong></li></ul></p><p> Was beim Aufbau eines Master-Slave zu beachten ist: <strong></strong></p>#🎜🎜##🎜🎜# Master-Slave Die Server-Betriebssystemversion und die Anzahl der Bits müssen konsistent sein Versionen müssen konsistent sein; #🎜 🎜#</li>#🎜🎜##🎜🎜#Die Daten in den Master- und Slave-Datenbanken müssen konsistent sein; #🎜🎜#</li>#🎜🎜##🎜🎜#Master Aktiviert Binärprotokolle und die Server-ID von Master und Slave muss innerhalb des LANs eindeutig sein. #🎜🎜#</li></ul>#🎜🎜# 2. MySQL-Master-Slave-Konstruktion #🎜🎜#<h4>2.1 Operationen auf dem Master</h4>#🎜🎜##🎜🎜#Ändern Sie die Konfiguration von master (my.cnf) Fügen Sie den folgenden Inhalt hinzu: #🎜🎜##🎜🎜#<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:sql;">mysql&gt; show slave status\G;</pre><div class="contentsignin">Nach dem Login kopieren</div></div>#🎜🎜##🎜🎜# Master neu starten: #🎜🎜##🎜🎜#<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:sql;">Slave_IO_Running: Yes Slave_SQL_Running: Yes</pre><div class="contentsignin">Nach dem Login kopieren</div></div>#🎜🎜##🎜🎜# im Master Erstellen Sie einen Benutzer für die Master-Slave-Synchronisierung: #🎜🎜##🎜🎜#rrreee#🎜🎜##🎜🎜#Master-Serverstatus anzeigen: #🎜🎜##🎜🎜#rrreee#🎜🎜#<code>Datei aufzeichnen Die Werte von und Position werden später verwendet. #🎜🎜#

2.2 Betrieb am Slave

#🎜🎜##🎜🎜#Ändern Sie die Slave-Konfiguration (my.cnf) und fügen Sie den folgenden Inhalt hinzu: #🎜🎜##🎜🎜#rrreee#🎜🎜 ##🎜🎜#Slave neu starten: #🎜🎜##🎜🎜#rrreee#🎜🎜##🎜🎜#Melden Sie sich bei MySQL an und führen Sie den folgenden Befehl aus, um die Master-Knotenparameter festzulegen: #🎜🎜##🎜🎜#rrreee #🎜🎜# Die letzten beiden Zeilen sind die Werte von File und Position, die wir aufgezeichnet haben. #🎜🎜##🎜🎜##🎜🎜#Überprüfen Sie den Status der Master-Slave-Synchronisierung: #🎜🎜##🎜🎜#rrreee#🎜🎜##🎜🎜#Überprüfen Sie die folgenden Informationen. Wenn alle „Ja“ lauten, bedeutet dies Die Einrichtung ist erfolgreich:# 🎜🎜##🎜🎜#rrreee

Das obige ist der detaillierte Inhalt vonSo richten Sie den Master-Slave-Synchronisationsvorgang in MySQL ein. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage