Das folgende Tutorial soll Ihnen eine einfache Schritt-für-Schritt-Anleitung für die Einrichtung bieten MySQL (Master-Slave) Reproduzieren In RHEL 6.3/6.2/6.1/6/5.8, CentOS 6.3/6.2/6.1/6/5.8 und Fedora 17,16,15,14,13,12 mit neuesten MySQL Ausführung. Dieser Leitfaden wurde speziell geschrieben für CentOS 6.3 Betriebssystem, funktionieren aber auch mit älteren Versionen von Linux Verteilungen mit MySQL 5.x.
AKTUALISIEREN: Wenn Sie nach MariaDB Master-Slave-Replikation unter CentOS/RHEL 7 und Debian 8 und deren Derivaten wie Ubuntu suchen, folgen Sie dieser Anleitung Einrichten der MariaDB Master-Slave-Replikation.
Das MySQL-Replikation ist sehr nützlich in Bezug auf Datensicherheit, Failover-Lösung, Datenbanksicherung vom Slave, Analytik etc. Wir verwenden die folgenden Dinge, um den Replikationsprozess durchzuführen. In Ihrem Szenario wäre das anders.
Wir haben zwei Server, einer ist Meister mit IP (192.168.1.1) und andere ist Sklave wie (192.168.1.2). Wir haben den Einrichtungsprozess in zwei Phasen unterteilt, um Ihnen die Arbeit zu erleichtern, In Phase I wir werden konfigurieren Meister Server und in Phase II mit Sklave Server. Beginnen wir mit dem Einrichtungsprozess für die Replikation.
In Phase I, wir werden die Installation von sehen MySQL, einrichten Reproduzieren und dann die Replikation überprüfen.
Fahren Sie zunächst fort mit MySQL Installation mit YUM-Befehl. Wenn Sie bereits eine MySQL-Installation haben, können Sie diesen Schritt überspringen.
# yum installiere mysql-server mysql
Offen mein.cnf Konfigurationsdatei mit VI Editor.
# vi /etc/my.cnf
Fügen Sie die folgenden Einträge hinzu unter [mysqld] Abschnitt und vergessen Sie nicht zu ersetzen tekmint mit dem Datenbanknamen, auf dem Sie replizieren möchten Sklave.
Server-ID = 1. binlog-do-db=tekmint relay-log = /var/lib/mysql/mysql-relay-bin. relay-log-index = /var/lib/mysql/mysql-relay-bin.index. log-error = /var/lib/mysql/mysql.err. master-info-file = /var/lib/mysql/mysql-master.info. relay-log-info-file = /var/lib/mysql/mysql-relay-log.info. log-bin = /var/lib/mysql/mysql-bin
Starten Sie den. neu MySQL Service.
# /etc/init.d/mysqld Neustart
Einloggen in MySQL wie Wurzel Benutzer und erstellen Sie die Sklavenbenutzer und Berechtigungen für die Replikation gewähren. Ersetzen slave_user mit Benutzer und Ihr Passwort mit Passwort.
# mysql -u root -p
mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'%' IDENTIFIZIERT VON 'Ihr Passwort'; mysql> FLUSH PRIVILEGIEN; mysql> FLUSH TABLES MIT READ LOCK; mysql> MASTER-STATUS ANZEIGEN; +++++ | Datei | Position | Binlog_Do_DB | Binlog_Ignore_DB | +++++ |mysql-bin.000003 | 11128001| tekmint | | +++++ 1 Zeile im Satz (0,00 Sek.) mysql> quit;
Bitte notieren Sie die Datei (mysql-bin.000003) und Position (11128001) Zahlen, wir haben diese Zahlen später benötigt Sklave Server. Als nächstes bewerben LESENSPERRE zu Datenbanken, um alle Datenbank- und Masterdatenbankinformationen mit zu exportieren mysqldump Befehl.
# mysqldump -u root -p --all-databases --master-data > /root/dbdump.db
Nachdem Sie alle Datenbanken gesichert haben, verbinden Sie sich nun erneut mit mysql als Root-Benutzer und entsperren Sie die Tabellen.
mysql> TABELLEN ENTSPERREN; mysql> beenden;
Laden Sie die Datenbank-Dump-Datei hoch auf Sklave Server (192.168.1.2) mit dem SCP-Befehl.
scp /root/dbdump.db [E-Mail geschützt]:/Wurzel/
Das haben wir erfolgreich konfiguriert Meister Server, fahren wir fort mit Phase II Sektion.
In Phase II, wir machen die Installation von MySQL, einrichten Reproduzieren und dann die Replikation überprüfen.
Wenn Sie nicht haben MySQL installiert und dann mit dem YUM-Befehl installiert.
# yum installiere mysql-server mysql
Offen mein.cnf Konfigurationsdatei mit VI Editor.
# vi /etc/my.cnf
Fügen Sie die folgenden Einträge hinzu unter [mysqld] Abschnitt und vergessen Sie nicht zu ersetzen IP Adresse von Meister Server, tekmint mit Datenbanknamen usw., mit denen Sie replizieren möchten Meister.
Server-ID = 2. master-host=192.168.1.1 master-connect-retry=60. master-user=slave_user Master-Passwort=Ihr Passwort replizieren-do-db=tekmint relay-log = /var/lib/mysql/mysql-relay-bin. relay-log-index = /var/lib/mysql/mysql-relay-bin.index. log-error = /var/lib/mysql/mysql.err. master-info-file = /var/lib/mysql/mysql-master.info. relay-log-info-file = /var/lib/mysql/mysql-relay-log.info. log-bin = /var/lib/mysql/mysql-bin
Importieren Sie nun die Dump-Datei, die wir im vorherigen Befehl exportiert haben, und starten Sie den MySQL-Dienst neu.
# mysql -u root -p < /root/dbdump.db. # /etc/init.d/mysqld Neustart.
Einloggen in MySQL als Root-Benutzer und stoppen Sie die Sklave. Dann sag es Sklave wo man suchen soll Master-Logdatei, die wir auf Master mit aufgeschrieben haben MASTER-STATUS ANZEIGEN; Befehl als Datei (mysql-bin.000003) und Position (11128001) Zahlen. Du musst dich ändern 192.168.1.1 zum IP Adresse des Master-Server, und ändern Sie die Nutzer und Passwort entsprechend.
# mysql -u root -p
mysql> Slave-Stopp; mysql> MASTER ZU MASTER_HOST ÄNDERN='192.168.1.1', MASTER_USER='slave_user', MASTER_PASSWORD='Ihr Passwort', MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=11128001; mysql> Slave-Start; mysql> Slave-Status anzeigen\G
*************************** 1. Zeile ************************** Slave_IO_State: Warten darauf, dass der Master das Ereignis sendet Master_Host: 192.168.1.1 Master_User: slave_user Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000003 Read_Master_Log_Pos: 12345100 Relay_Log_File: mysql-relay-bin.000002 Relay_Log_Pos: 11381900 Relay_Master_Log_File: mysql-bin.000003 Slave_IO_Running: Ja Slave_SQL_Running: Ja Replicate_Do_DB: tekmint Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 12345100 Relay_Log_Space: 11382055 Bis_Bedingung: Keine Bis_Log_File: Bis_Log_Pos: 0 Master_SSL_Allowed: Nein Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Sekunden_Behind_Master: 0. Master_SSL_Verify_Server_Cert: Nein Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: 1 Zeile im Satz (0,00 Sek.)
Es ist wirklich sehr wichtig zu wissen, dass die Replikation perfekt funktioniert. Auf Meister server eine Tabelle erstellen und einige Werte darin einfügen.
mysql> Datenbank tecmint erstellen; mysql> tecmint verwenden; mysql> CREATE TABLE-Mitarbeiter (c int); mysql> INSERT INTO Mitarbeiter (c) WERTE (1); mysql> SELECT * FROM Mitarbeiter;
++ | c | ++ | 1 | ++ 1 Reihe im Satz (0,00 Sek.)
Überprüfung der SKLAVE, durch Ausführen des gleichen Befehls werden die gleichen Werte auch im Slave zurückgegeben.
mysql> tecmint verwenden; mysql> SELECT * FROM Mitarbeiter;
++ | c | ++ | 1 | ++ 1 Reihe im Satz (0,00 Sek.)
Das war's, endlich haben Sie konfiguriert MySQL-Replikation in wenigen einfachen Schritten. Weitere Informationen finden Sie unter Anleitung zur MySQL-Replikation.