Detaillierte grafische Erläuterung der Mysql5.7.18-Installation und Master-Slave-Replikation

Detaillierte grafische Erläuterung der Mysql5.7.18-Installation und Master-Slave-Replikation

Installieren Sie mysql5.7.18 auf CentOS6.7

1. Entpacken Sie in das Verzeichnis /usr/local

# tar -zxvf mysql-5.7.18-linux-glibc2.5-i686.tar.gz -C /usr/local

2. Benennen Sie den Ordner mysql-5.7.18-linux-glibc2.5-i686 in mysql um

# cd /usr/local
    # mv mysql-5.7.18-linux-glibc2.5-i686/mysql

3. Erstellen Sie eine neue MySQL-Benutzergruppe und einen neuen MySQL-Benutzer

# mysql-Gruppenadd
    # Benutzeradd -r -g mysql mysql

4. Neues Datenverzeichnis erstellen

# cd /usr/local/mysql
    # mkdir-Daten

5. Ändern Sie den Eigentümer und gewähren Sie 755

# cd /usr/local
    # chown -R mysql:mysql mysql/
    # chmod -R 755 mysql/

6. Initialisieren Sie mysqld

# cd /usr/local/mysql
    # ./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize 

Notieren Sie das anfängliche Root-Passwort: GjlI08>p4kDw

7. Fügen Sie mysqld als Dienst hinzu und starten Sie es

 # cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

Erstellen Sie die Standard-MySQL-Konfigurationsdatei /etc/my.cnf und fügen Sie den Inhalt im Bild hinzu

# vim /etc/my.cnf

Speichern und beenden Sie my.cnf, starten Sie mysqld

# Dienst mysqld starten

Die folgende Meldung zeigt den erfolgreichen Start an

Überprüfen Sie, ob MySQL erfolgreich gestartet wurde

# ps -ef|grep mysql

Die folgende Meldung zeigt den erfolgreichen Start an

Natürlich können Sie auch den Status von mysqld überprüfen

# Dienst MySQL-Status

8. Melden Sie sich bei MySQL an und ändern Sie das Root-Passwort

# cd /usr/local/mysql
    # ./bin/mysql -uroot –p

Geben Sie das Initialpasswort ein, das in Schritt 6 generiert wurde. Die folgende Meldung zeigt an, dass die Anmeldung erfolgreich war.

Root-Passwort ändern

mysql> PASSWORT FESTLEGEN = PASSWORT('123456');
    mysql> FLUSH-PRIVILEGIEN;

Wenn Sie das Root-Passwort bei der ersten Anmeldung nicht ändern, wird beim Bedienen der Datenbank die folgende Fehlermeldung angezeigt. In diesem Fall müssen Sie das Passwort des Root-Benutzers ändern.

FEHLER 1820 (HY000): Sie müssen Ihr Kennwort mit der Anweisung ALTER USER zurücksetzen, bevor Sie diese Anweisung ausführen.

9. Richten Sie MySQL so ein, dass es aus der Ferne erreichbar ist (die Firewall muss ausgeschaltet sein, chkconfig iptables off: automatischen Start auf Aus setzen, service iptables sto: Firewall ausschalten)

Melden Sie sich zuerst bei MySQL an

 mysql> mysql verwenden
    mysql> Benutzer aktualisieren, Host festlegen = „192.168.0.4“, wobei Benutzer = „root“ ist;
    mysql> FLUSH-PRIVILEGIEN;

192.168.0.4 ist die Remote-IP-Adresse, die remote auf das lokale MySQL zugreifen kann. Wenn Sie möchten, dass jede IP-Adresse auf das lokale MySQL zugreift, müssen Sie nur 192.168.0.4 durch % ersetzen.

 mysql> Benutzer aktualisieren, Host festlegen = '%', wobei Benutzer = 'root';

MySQL Master-Slave-Replikation

MySQL ist der Master unter Windows und der Slave unter Linux. Die MySQL-Version ist 5.7.18. Die IP-Adresse von Windows ist 192.168.0.4 und die IP-Adresse von Linux ist 192.168.0.223.

1. Aktivieren Sie Binlog auf dem Master

Suchen Sie die Datei my.ini im MySQL-Home-Verzeichnis (erstellen Sie eine neue, falls sie nicht vorhanden ist) und konfigurieren Sie sie wie folgt

[mysqld]
# setze basedir auf deinen Installationspfad
basedir=D:\\mysql-5.7.18
# setze datadir auf den Speicherort deines Datenverzeichnisses
Datenverzeichnis=D:\\mysql-5.7.18\\data
Port = 3306
log-bin = mysql-bin #[Erforderlich] Binärprotokoll aktivieren server-id = 4 #[Erforderlich] Eindeutige Server-ID, Standard ist 1, vorzugsweise die letzten 3 Ziffern der IP expire-logs-days = 7 # Bewahren Sie Binärprotokolle nur 7 Tage lang auf, um zu verhindern, dass die Festplatte mit Protokollen gefüllt wird binlog-ignore-db = mysql # Datenbank nicht gesichert binlog-ignore-db = information_schema
binlog-ignore-db = Leistungsschema
binlog-ignore-db = sys
binlog-do-db=mybatis #Der Name der zu kopierenden Datenbank

Testen Sie, ob log_bin erfolgreich geöffnet wurde

mysql> Variablen wie „%log_bin%“ anzeigen;

Die folgende Abbildung wird angezeigt. Wenn log_bin eingeschaltet ist, bedeutet dies, dass der Start erfolgreich war. Wenn es ausgeschaltet ist, bedeutet dies, dass der Start fehlgeschlagen ist.

2. Erstellen Sie ein Backup-Konto in der Master-Datenbank: Backup ist der Benutzername, % steht für eine beliebige Remote-Adresse. Das Folgende zeigt an, dass sich jedes Backup mit der Remote-Adresse und dem Kennwort 1234 mit dem Master-Host verbinden kann.

mysql> gewähre Replikations-Slave auf *.* an 'Backup'@'%', identifiziert durch '1234';
    mysql> mysql verwenden
    mysql> wähle Benutzer, Authentifizierungszeichenfolge, Host vom Benutzer aus;

Sie können das Sicherungskonto sehen, das wir gerade erstellt haben:

3. Daten kopieren

Starten Sie den MySQL-Dienst neu und setzen Sie eine Lesesperre

 net stop MySQL
      net start MySQL

Melden Sie sich bei MySQL an

mysql> Tabellen mit Lesesperre leeren;

Lesesperre bedeutet, dass Sie nur lesen, nicht aktualisieren können, um einen konsistenten Snapshot zu erhalten

Zeigen Sie den aktuellen Binärprotokollnamen und den Offsetwert auf dem Masterserver an

 mysql> Masterstatus anzeigen \G 

Der Kopiervorgang läuft wie folgt ab:

Datei stellt das Protokoll dar, das die Replikationsfunktion implementiert, dh das Binärprotokoll in der obigen Abbildung. Position bedeutet, dass alle Protokolle nach dem Offset der Binlog-Protokolldatei mit dem Slave synchronisiert werden und diejenigen vor dem Offset manuell importiert werden müssen.

Daten vom Master exportieren und in den Slave importieren

Öffnen Sie ein weiteres Befehlsfenster und verwenden Sie den Befehl mysqldump, um die Daten zu exportieren

Kopieren Sie d:\a.txt auf den Slave und importieren Sie es dann in die MySQL-Datenbank. Wenn die mybatis-Datenbank auf dem Slave nicht vorhanden ist, erstellen Sie sie zuerst und importieren Sie sie dann.

Export ist mysqldump, Import ist mysql

4. Slave konfigurieren (192.168.0.223)

Der Slave befindet sich in einer Linux-Umgebung und die MySQL-Konfigurationsdatei ist /etc/my.cnf. Wenn sie nicht existiert, erstellen Sie eine neue mit folgendem Inhalt

[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
Benutzer=mysql
Port = 3306
log-bin=mysql-bin
Server-ID = 223

Starten Sie die Slave-Datenbank neu

 # service mysqld neu starten

Loggen Sie sich in die Slave-Datenbank ein und nehmen Sie folgende Einstellungen vor

mysql> Slave stoppen;

mysql> ändere Master in

master_host='192.168.0.4',

master_user='Sicherung',

Master-Passwort = '1234',

master_log_file='mysql-bin.000005',

master_log_pos=601;

Die Bedeutung der einzelnen Parameter:

master_host Die IP-Adresse des Hosts, der die Replikation durchführt

master_user ist der Benutzer für die Remote-Anmeldung beim MySQL-Server des Masters zur Replikation, der in Schritt 2 festgelegt wurde

master_password implementiert die Replikation der MySQL-Schnittstelle des Remote-Login-Masters, die in Schritt 2 festgelegt wurde

master_log_file implementiert die Replikation der Binlog-Protokolldatei in der roten Box in Schritt 3

master_log_pos implementiert den Offset der kopierten Binlog-Protokolldatei in der roten Box in Schritt 3

mysql> Slave starten;

Überprüfen Sie den Status der Slave-Maschine

mysql> Slave-Status anzeigen \G

Wenn die Werte der beiden in der Abbildung markierten Elemente Ja sind, bedeutet dies, dass die Slave-Einstellung erfolgreich war

5. Deaktivieren Sie die Lesesperre der Hauptdatenbank

mysql> Tabellen entsperren;

6. Testen

Wenn zuvor kein Problem aufgetreten ist, werden die Vorgänge der Mybatis-Daten auf dem Master mit den Mybatis-Daten auf dem Slave synchronisiert.

Dokumentadresse: hier klicken

Zusammenfassen

Oben finden Sie eine detaillierte grafische Erklärung der Installation und Master-Slave-Replikation von Mysql5.7.18, die vom Herausgeber vorgestellt wurde. Ich hoffe, dass sie für alle hilfreich sein wird. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten!

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung des Prinzips und der Praxis der MySQL-Master-Slave-Replikation
  • So konfigurieren Sie die MySQL Master-Slave-Replikation unter Windows
  • Implementierungsschritte zum Erstellen einer MySQL Master-Slave-Replikationsumgebung basierend auf Docker
  • Detaillierte Erläuterung der Prinzipien und der Verwendung der MySQL-Master-Slave-Replikation und der Lese-/Schreibtrennung
  • Detaillierte Erläuterung der Rolle und des Funktionsprinzips der MySQL-Master-Slave-Replikation
  • Lösung für die lange Verzögerung der MySQL-Datenbank-Master-Slave-Replikation
  • Detaillierte Erläuterung der Konfigurationsmethode der Lese-/Schreibtrennung bei der MySQL-Master-Slave-Replikation
  • Detaillierte Erläuterung der Docker-Methode zur Implementierung der MySql-Master-Slave-Replikation (praktischer Teil)
  • MySQL 5.7.18 Master-Slave-Replikations-Setup (ein Master und ein Slave) Tutorial mit ausführlicher Erklärung
  • Detaillierte Erläuterung des MySQL Master-Slave-Replikationsprozesses
  • So ändern Sie die Master-Slave-Replikationsoptionen in MySQL online

<<:  Detaillierte Erläuterung des Aufbaus und der Verwendung des Docker Private Warehouse

>>:  Das WeChat-Applet implementiert einen einfachen Rechner

Artikel empfehlen

Lösen Sie das MySQL 5.7.9 Version sql_mode=only_full_group_by Problem

MySQL 5.7.9 Version sql_mode=only_full_group_by P...

Erklärung des HTML-Codes der Webseite: geordnete Liste und ungeordnete Liste

In diesem Abschnitt lernen wir Listenelemente in ...

Allgemeine Datumsvergleichs- und Berechnungsfunktionen in MySQL

Implementierung des Zeitvergleichs in MySql unix_...

CSS3 verwendet Transform, um eine bewegliche 2D-Uhr zu erstellen

Nachdem wir den transform Kurs abgeschlossen habe...

Mybatis implementiert Details zum Abfangen und Ändern von SQL-Abfragen

Vorwort Eine der Funktionen eines Interceptors be...

Beispiel, wie man einen Div-Hintergrund transparent macht

Es gibt zwei gängige Möglichkeiten, den Div-Hinte...

So installieren Sie Docker mit YUM

Wie in der folgenden Abbildung dargestellt: Wenn ...