Heim  >  Artikel  >  Datenbank  >  Praktische MySQL-Clusterkonstruktion (2) – Implementierung der Master-Slave-Replikation der MySQL-Datenbank

Praktische MySQL-Clusterkonstruktion (2) – Implementierung der Master-Slave-Replikation der MySQL-Datenbank

黄舟
黄舟Original
2017-02-28 13:29:411641Durchsuche

Im Anschluss an den vorherigen Artikel „Praktischer MySQL-Clusteraufbau (1) – Binäre Installation von MySQL-5.6 unter Centos7“ stellt dieser Artikel vor, wie der Hauptdatenbankserver Daten in Form von Protokolldateien auf einem anderen Server sichert .Server: Auf diese Weise kann die Master-Slave-Replikation der Datenbank realisiert und eine sichere Datensicherung erreicht werden.

Für Hauptbibliotheksvorgänge:

1. Aktivieren Sie die Log-bin-Funktion auf dem Master:

 # vi /etc/my.cnf 
添加如下内容:        
 log_bin=mysql-bin        
server_id =1

2. Starten Sie MySQL neu

# /etc/init.d/mysqld restart

3. Melden Sie sich bei MySQL an, um ein Konto auf dem Masterserver zu erstellen und zu autorisieren die Slave-Funktion

  #mysql –uroot –p
       mysql> grant replication slave on *.* to 'mysql'@'%' identified by 'mysql';
       mysql> flush priviliges;
       mysql> flush tables with read lock;

Wenn vor diesem Vorgang Daten sowohl in der Master- als auch in der Slave-Datenbank vorhanden sind, können Sie natürlich zurückkehren Der Vorgang ist wie folgt:

1. Fügen Sie den Befehl mysqldump zu /usr/bin hinzu

ln -s /application/mysql/bin/mysqldump /usr/bin/

2. Verwenden Sie den Befehl mysqldump zum Sichern die Master-Server-Datenbank:

# mysqldump -uroot -p -A --master-data=1 > /tmp/master_16-09-12.sql

3. Nachdem die Sicherung abgeschlossen ist, setzen Sie den Schreibvorgang fort:

# mysql> unlock tables;

Vorgang aus der Datenbank

1. Stoppen Sie den Slave-Synchronisationsvorgang

MySQL> Slave stoppen;

2. Ändern Sie die Konfigurationsdatei der Slave-Bibliothek

# vi /etc/my.cnf       
log_bin=mysql-bin       
server_id = 2

3 . Importieren Sie die Datei master_16-09-12.sql in die Slave-Bibliothek

# mysql -uroot -p < master_16-09-12.sql

4 >

5. Starten Sie den Slave-Server-Slave
mysql> change master to        
master_host="主服务器IP",       
master_user="mysql",       
master_password="mysql";

6. Überprüfen Sie den Slave-Server-Status
    mysql> start slave;
      mysql>quit;
      #/etc/init.d/mysqld restart


Wenn der folgende Inhalt erscheint, ist die Konfiguration erfolgreich:
mysql> show slave status\G;


geklont Implementiert Auf diese Weise ist ein Fehler aufgetreten:


Master und Slave haben gleiche MySQL-Server-UUIDs Lösung

Dies liegt daran, dass während des Serverkopiervorgangs auch das gesamte Datenverzeichnis der Datenbank kopiert wird, sodass auto.cnf in dieser Datei vorhanden ist. die die Datenbank-UUID speichert. Die UUID jeder Datenbank sollte unterschiedlich sein.

Das Obige ist die eigentliche MySQL-Clusterkonstruktion (2) – der Inhalt der Master-Slave-Replikation der MySQL-Datenbank. Weitere verwandte Inhalte finden Sie hier. Bitte beachten Sie die chinesische PHP-Website (www.php.cn)!

Stellungnahme:
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