Mysql implementiert Master-Slave-Konfiguration und Multi-Master-Multi-Slave-Konfiguration

Mysql implementiert Master-Slave-Konfiguration und Multi-Master-Multi-Slave-Konfiguration

Was wir jetzt simulieren, ist ein Master-Slave-System (1 Host und 1 Slave). Das Prinzip der Master-Slave-Synchronisierung besteht darin, die Binärdatei Bin-Log zu synchronisieren und den Inhalt dieser Datei vom Host zum Slave zu synchronisieren.

1. Änderung von Konfigurationsdateien

1. Ändern Sie die Host-Konfigurationsdatei

Wir benötigen zunächst die Konfigurationsdatei /etc/my.cnf des MySQL-Hosts (192.168.254.130) und fügen die folgende Konfiguration hinzu:

#Eindeutige Host-ID
Server-ID = 1
#Binärprotokoll log-bin=mysql-bin
#Datenbank, die nicht synchronisiert werden muss binlog-ignore-db=mysql
binlog-ignore-db=informationsschema
#Synchronisierter Datenbankname binlog-do-db=mycat
#Binärformat binlog_format=ANWEISUNG

Schauen wir uns die gesamte Datei my.cnf an

[root@localhost Desktop]# cat /etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/usr/local/mysql/data/mysql.sock
Benutzer=mysql
# Das Deaktivieren symbolischer Links wird empfohlen, um verschiedene Sicherheitsrisiken zu vermeiden
symbolische Links = 0

Server-ID = 1
log-bin=mysql-bin
binlog-ignore-db=mysql
binlog-ignore-db=informationsschema
binlog-do-db=mycat
binlog_format=ANWEISUNG


[mysqld_safe]
log-error=/usr/local/mysql/data/mysqld.log
pid-Datei=/usr/local/mysql/data/mysqld/mysqld.pid
[root@localhost Desktop]#

Nachdem wir die Konfigurationsdatei des Hosts geändert haben, müssen wir den Dienst mit dem folgenden Befehl neu starten:

[root@localhost Support-Dateien]# ls
Magie mysqld_multi.server mysql-log-rotate mysql.server
[root@localhost Support-Dateien]# pwd
/usr/local/mysql/support-files
[root@localhost Support-Dateien]# ./mysql.server Neustart

Dann ändern wir die Konfigurationsdatei der Slave-Maschine (192.168.254.131).

2. Slave-Konfiguration

Die Konfigurationsänderung des Slaves ist relativ einfach:

#Eindeutige ID der Slave-Maschine
Server-ID = 2
#Relay-Protokoll relay-log=mysql-relay

Nach der Änderung der Konfiguration starten wir den Slave neu

2. MySQL-Client-Befehlsvorgang

Als nächstes können wir über den folgenden Befehl eine Verbindung zur MySQL-Befehlszeile herstellen:

[root@localhost bin]# 
[root@localhost bin]# pwd
/usr/local/mysql/bin
[root@localhost bin]# ./mysql -uroot -p

1. Host-Betrieb

1) Erstellen Sie einen Synchronisationsbenutzer

Zunächst können wir auf dem Host einen Benutzer erstellen, der ausschließlich für die Master-Slave-Synchronisierung zuständig ist. Dazu führen wir den folgenden Befehl aus:

GRANT REPLICATION SLAVE ON *.* TO 'SLAVE'@'%' IDENTIFIZIERT DURCH '123456';

2) Überprüfen Sie den Status der synchronisierten Dateien

Anschließend verwenden wir „show master status“, um den Synchronisierungsstatus des Hosts anzuzeigen:

mysql> Masterstatus anzeigen;
+------------------+----------+--------------+--------------------------+-----------------------+
| Datei | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+--------------------------+-----------------------+
| mysql-bin.000001 | 154 | mycat | mysql,Informationsschema | |
+------------------+----------+--------------+--------------------------+-----------------------+
1 Zeile im Satz (0,00 Sek.)

2. Slave-Betrieb

1) Stellen Sie den Slave-Host ein

Führen Sie den folgenden Befehl aus, der die relevanten Informationen für die Einrichtung der Synchronisierung mit dem Host festlegt

ÄNDERN SIE MASTER IN MASTER_HOST='192.168.254.130',
MASTER_USER='SLAVE',
MASTER_PASSWORD = '123456',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=430;

Wenn hier die Meldung erscheint, dass die Host-Konfiguration festgelegt wurde, können Sie diese durch „Stoppen Sie den Slave und setzen Sie den Master zurück“ zurücksetzen.

2) Synchronisation starten

Als nächstes starten wir die Synchronisierung, indem wir den Slave starten:

Sie können sehen:

mysql> Slave-Status anzeigen\G
*************************** 1. Reihe ***************************
               Slave_IO_State: Wartet darauf, dass der Master ein Ereignis sendet
                  Master_Host: 192.168.254.130
                  Master_Benutzer: SLAVE
                  Master_Port: 3306
                Verbindungswiederholung: 60
              Master_Log_File:mysql-bin.000001
          Read_Master_Log_Pos: 592
               Relay-Logdatei:mysql-relay.000002
                Relay_Log_Pos: 482
        Relay_Master_Log_File: mysql-bin.000001
             Slave_IO_Running: Ja
            Slave_SQL_Running: Ja
              Replicate_Do_DB: 
          Replikat_Ignorieren_DB: 
           Tabelle_replizieren: 
       Tabelle_Ignorieren_replizieren: 
      Wild_Do_Tabelle replizieren: 
  Tabelle_Wild_Ignore_replizieren: 
                   Last_Errno: 0
                   Letzter_Fehler: 
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 592
              Relay_Log_Space: 685
              Until_Condition: Keine
               Bis_Log_Datei: 
                Bis_Log_Pos: 0
           Master_SSL_Allowed: Nein
           Master_SSL_CA_Datei: 
           Master_SSL_CA_Pfad: 
              Master_SSL_Zertifikat: 
            Master_SSL_Chiffre: 
               Master_SSL_Schlüssel: 
        Sekunden_Hinter_Master: 0
Master_SSL_Verify_Server_Cert: Nein
                Last_IO_Errno: 0
                Letzter_E/A-Fehler: 
               Last_SQL_Errno: 0
               Letzter_SQL_Fehler: 
  Server-IDs replizieren_ignorieren: 
             Master_Server_Id: 1
                  Master_UUID: 74397a99-accf-11eb-ae0d-000c2912d302
             Master_Info_Datei: /usr/local/mysql/data/master.info
                    SQL_Delay: 0
          SQL_Remaining_Delay: NULL
      Slave_SQL_Running_State: Slave hat alle Relay-Logs gelesen; wartet auf weitere Updates
           Master_Retry_Count: 86400
                  Master_Bind: 
      Zeitstempel des letzten IO-Fehlers: 
     Letzter_SQL_Fehler_Zeitstempel: 
               Master_SSL_Crl: 
           Master_SSL_Crlpfad: 
           Abgerufenes_Gtid_Set: 
            Ausgeführtes_Gtid_Set: 
                Auto_Position: 0
         DB replizieren_neu schreiben: 
                 Kanalname: 
           Master_TLS_Version: 
1 Zeile im Satz (0,00 Sek.)

MySQL>

Hier können wir sehen, dass Slave_IO_Running und Slave_SQL_Running beide JA sind, was bedeutet, dass es erfolgreich war. Wenn es das Folgende ist:

*************************** 1. Reihe ***************************
               Slave_IO_State: Verbindung zum Master wird hergestellt
                  Master_Host: 192.168.254.130
                  Master_User: Sklave
                  Master_Port: 3306
                Verbindungswiederholung: 60
              Master_Log_File:mysql-bin.000001
          Read_Master_Log_Pos: 430
               Relay-Logdatei:mysql-relay.000001
                Relay_Log_Pos: 4
        Relay_Master_Log_File: mysql-bin.000001
             Slave_IO_Running: Verbindung wird hergestellt
            Slave_SQL_Running: Ja
              Replicate_Do_DB: 
          Replikat_Ignorieren_DB: 
           Tabelle_replizieren: 
       Tabelle_Ignorieren_replizieren: 
      Wild_Do_Tabelle replizieren: 
  Tabelle_Wild_Ignore_replizieren: 
                   Last_Errno: 0
                   Letzter_Fehler: 
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 430
              Relay_Log_Space: 154
              Until_Condition: Keine
               Bis_Log_Datei: 
                Bis_Log_Pos: 0
           Master_SSL_Allowed: Nein
           Master_SSL_CA_Datei: 
           Master_SSL_CA_Pfad: 
              Master_SSL_Zertifikat: 
            Master_SSL_Chiffre: 
               Master_SSL_Schlüssel: 
        Seconds_Behind_Master: NULL
Master_SSL_Verify_Server_Cert: Nein
                Last_IO_Errno: 1045
                Last_IO_Error: Fehler beim Verbinden mit Master „[email protected]:3306“ – Wiederholungszeit: 60 Wiederholungen: 1
               Last_SQL_Errno: 0
               Letzter_SQL_Fehler: 
  Server-IDs replizieren_ignorieren: 
             Master_Server_Id: 0
                  Master_UUID: 
             Master_Info_Datei: /usr/local/mysql/data/master.info
                    SQL_Delay: 0
          SQL_Remaining_Delay: NULL
      Slave_SQL_Running_State: Slave hat alle Relay-Logs gelesen; wartet auf weitere Updates
           Master_Retry_Count: 86400
                  Master_Bind: 
      Letzter_IO_Error_Timestamp: 210505 00:18:08
     Letzter_SQL_Fehler_Zeitstempel: 
               Master_SSL_Crl: 
           Master_SSL_Crlpfad: 
           Abgerufenes_Gtid_Set: 
            Ausgeführtes_Gtid_Set: 
                Auto_Position: 0
         DB replizieren_neu schreiben: 
                 Kanalname: 
           Master_TLS_Version: 
1 Zeile im Satz (0,00 Sek.)

Wir können sehen, dass hier in Last_IO_Error ein Fehler vorliegt, also können wir nachsehen, was das Protokoll meldet. Derzeit besteht mein Problem darin, dass der Synchronisierungsbenutzer aufgrund eines Fehlers nicht synchronisiert werden kann. Wie oben erwähnt, stoppen Sie zuerst die Synchronisierung und setzen Sie sie zurück, ändern Sie den Synchronisierungsbefehl und führen Sie ihn dann erneut aus.

3. Master-Slave-Synchronisationstest

1. Bibliothek zur Host-Erstellung

Wir erstellen zunächst die Datenbank mycat, die wir zuvor für die Synchronisierung auf dem Host eingerichtet haben:

mysql> Datenbank mycat erstellen;
Abfrage OK, 1 Zeile betroffen (0,00 Sek.)

mysql> verwende mycat;
Datenbank geändert
mysql> Datenbanken anzeigen;
+--------------------+
| Datenbank |
+--------------------+
| Informationsschema |
| meine Katze |
|mysql |
| Leistungsschema |
|System|
+--------------------+
5 Zeilen im Satz (0,00 Sek.)

MySQL>

2. Zeigen Sie die Bibliothek vom Computer aus an

Dann können wir diese Bibliothek auf der Slave-Maschine sehen

mysql> Datenbanken anzeigen;
+--------------------+
| Datenbank |
+--------------------+
| Informationsschema |
| meine Katze |
|mysql |
| Leistungsschema |
|System|
+--------------------+
5 Zeilen im Satz (0,00 Sek.)

3. Initialisierung der Tabellendaten

Als nächstes testen wir die Tabellendaten

1) Host Zuerst erstellen wir eine Tabelle auf dem Host und fügen Daten ein

mysql> verwende mycat;
Datenbank geändert
MySQL> 
mysql> Tabelle `test1` erstellen(
    -> id int auto_increment nicht null Primärschlüssel,
    -> Name varchar(10) Standard null
    -> );
Abfrage OK, 0 Zeilen betroffen (0,03 Sek.)

mysql> einfügen in test1(`id`,`name`) Wert(1,"petty");
Abfrage OK, 1 Zeile betroffen (0,16 Sek.)

mysql> wähle * aus test1;
+----+--------+
| Ich würde | Name |
+----+--------+
| 1 | kleinlich |
+----+--------+
1 Zeile im Satz (0,00 Sek.)

MySQL>

2) Als nächstes prüfen wir, ob der Slave erfolgreich synchronisiert wurde:

mysql> verwende mycat;
Einlesen von Tabelleninformationen zur Vervollständigung von Tabellen- und Spaltennamen
Sie können diese Funktion deaktivieren, um einen schnelleren Start mit -A zu erhalten

Datenbank geändert
mysql> Tabellen anzeigen;
+-----------------+
| Tabellen_in_mycat |
+-----------------+
| Prüfung1 |
+-----------------+
1 Zeile im Satz (0,00 Sek.)

mysql> wähle * aus test1;
+----+--------+
| Ich würde | Name |
+----+--------+
| 1 | kleinlich |
+----+--------+
1 Zeile im Satz (0,00 Sek.)

MySQL> 

Sie können sehen, dass unsere Master-Slave-Konfiguration erfolgreich war.

4. Mehrere Master und mehrere Slaves

Wir können auch mehrere Master und mehrere Slaves haben. Beispielsweise ist unsere Master-Slave-Reihenfolge Nummer 1 als Master, Nummer 2 als Slave, dann Nummer 3 als Master und Nummer 4 als Slave. Gleichzeitig sind Host Nummer 1 und Host Nummer 3 Master und Slave füreinander. Auf diese Weise kann der gesamte MySQL-Cluster auch dann noch normal funktionieren, wenn einer der Hosts ein Problem hat.

​ Da derzeit nur drei Maschinen vorhanden sind, werden nur drei zum Schreiben der Demo verwendet (eine Windows- und zwei Linux-Maschinen).

1. Host Nr. 1 (192.168.254.30)

1) Um die Konfiguration zu ändern, müssen wir zuerst die ursprüngliche Datei etc/my.cnf ändern und Folgendes hinzufügen:

# Als Slave ändern Sie auch dessen Bin-Log-Log-Slave-Updates
#Auto-Inkrement-Inkrement=2
#Startposition der Selbstinkrementierung Auto-Increment-Offset=1

Informationen zur gesamten Datei

[root@localhost Desktop]# cat /etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/usr/local/mysql/data/mysql.sock
Benutzer=mysql
# Das Deaktivieren symbolischer Links wird empfohlen, um verschiedene Sicherheitsrisiken zu vermeiden
symbolische Links = 0

Server-ID = 1
log-bin=mysql-bin
binlog-ignore-db=mysql
binlog-ignore-db=informationsschema
binlog-do-db=mycat
binlog_format=ANWEISUNG

Log-Slave-Updates
automatische Inkrementierung-Inkrement = 2
automatischer Inkrement-Offset = 1

[mysqld_safe]
log-error=/usr/local/mysql/data/mysqld.log
pid-Datei=/usr/local/mysql/data/mysqld/mysqld.pid
[root@localhost Desktop]# 

Nach der Änderung dieser Datei müssen wir den Rechner neu starten

2. Sklave Nr. 2 (192.168.254.31)

Diese Maschine ist bereits für die Verbindung mit 30 Maschinen konfiguriert, daher müssen dieses Mal keine Änderungen vorgenommen werden.

3. Host Nr. 3 (192.168.254.1)

1) Ändern Sie die Konfigurationsdatei. Da es sich bei diesem Rechner um ein Windows-Gerät handelt, müssen wir die Datei my.ini ändern und hinzufügen

Server-ID = 3
log-bin=mysql-bin
binlog-ignore-db=mysql
binlog-ignore-db=informationsschema
binlog-do-db=mycat
binlog_format=ANWEISUNG

Log-Slave-Updates
automatische Inkrementierung-Inkrement = 2
automatischer Inkrement-Offset = 2

Beachten Sie, dass wir oben die Server-ID und auch den Wachstumsstartpunkt auto-increment-offset=2 geändert haben. Starten Sie gleichzeitig den Dienst neu.

2) Erstellen eines Synchronisierungsbenutzers Zunächst können wir einen Benutzer für die Master-Slave-Synchronisierung auf dem Host erstellen, indem wir den folgenden Befehl ausführen:

 GRANT REPLICATION SLAVE ON *.* TO 'SLAVE'@'%' IDENTIFIZIERT DURCH '123456';

3) Überprüfen Sie den Status

mysql> Masterstatus anzeigen;
+------------------+----------+--------------+--------------------------+-----------------------+
| Datei | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+--------------------------+-----------------------+
| mysql-bin.000001 | 154 | mycat | mysql,Informationsschema | |
+------------------+----------+--------------+--------------------------+-----------------------+
1 Zeile im Satz (0,00 Sek.)

MySQL>

4) Synchronisationsstatus festlegen

Als nächstes führen wir die Host (30) Informationen, mit denen es verbunden ist

ÄNDERN SIE MASTER IN MASTER_HOST='192.168.254.130',
MASTER_USER='SLAVE',
MASTER_PASSWORD = '123456',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=430;

5) Synchronisierung mit Host Nr. 1 (192.168.254.30)
Wir müssen es so einstellen, dass es mit Host Nummer 3 (192.168.254.1) synchronisiert wird. Dies ist der Masterstatus von Nummer 3, den wir zuvor angesehen haben:

ÄNDERN SIE MASTER IN MASTER_HOST='192.168.254.1',
MASTER_USER='SLAVE',
MASTER_PASSWORD = '123456',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=154;

Dann führen wir „Synchronous Start Slave“ auf Host Nummer 1 und „Synchronous Start Slave“ auf Host Nummer 3 aus.

4. Testen und ansehen

1) Mögliche Probleme (können übersprungen werden)

Nun testen wir und prüfen anschließend den Masterstatus der beiden Maschinen separat: show master status;.

mysql> Slave-Status anzeigen\G
*************************** 1. Reihe ***************************
               Slave_IO_State: Wartet darauf, dass der Master ein Ereignis sendet
                  Master_Host: 192.168.254.1
                  Master_Benutzer: SLAVE
                  Master_Port: 3306
                Verbindungswiederholung: 60
              Master_Log_File:mysql-bin.000001
          Read_Master_Log_Pos: 154
               Relay_Log_File: localhost-relay-bin.000002
                Relay_Log_Pos: 320
        Relay_Master_Log_File: mysql-bin.000001
             Slave_IO_Running: Ja
            Slave_SQL_Running: Ja
........
mysql> Slave-Status anzeigen\G
*************************** 1. Reihe ***************************
               Slave_IO_State: Wartet darauf, dass der Master ein Ereignis sendet
                  Master_Host: 192.168.254.130
                  Master_Benutzer: SLAVE
                  Master_Port: 3306
                Verbindungswiederholung: 60
              Master_Log_File:mysql-bin.000002
          Read_Master_Log_Pos: 462
               Relay_Log_Datei: LAPTOP-QR83QEC0-relay-bin.000003
                Relay_Log_Pos: 675
        Relay_Master_Log_File: mysql-bin.000002
             Slave_IO_Running: Ja
            Slave_SQL_Running: Ja
              Replicate_Do_DB:
.........

Sie können sehen, dass ihre Synchronisierung ja ist. Hier liegt möglicherweise ein Problem vor, das wir selbst lösen müssen. Beispielsweise ändere ich die Konfiguration auf Maschine Nummer 1 und überprüfe dann ihren Status.

mysql> Masterstatus anzeigen;
+------------------+----------+--------------+--------------------------+-----------------------+
| Datei | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+--------------------------+-----------------------+
| mysql-bin.000002 | 462 | mycat | mysql,Informationsschema | |
+------------------+----------+--------------+--------------------------+-----------------------+
1 Zeile im Satz (0,00 Sek.)

MySQL> 

Wenn ich diese Nachricht verwende, um Maschine Nr. 3 mit Maschine Nr. 1 synchronisieren zu lassen, wird eine Meldung angezeigt (weil ich eine neue Einfügeanweisung ausgeführt habe), aber die Anweisung zur Tabellenerstellung befindet sich im Protokoll mysql-bin.000001, und hier habe ich neu gestartet, und es gibt ein neues mysql-bin.000002, sodass die Synchronisierungsinformationen der ursprünglichen Nr. 2 geändert wurden.

mysql> Slave-Status anzeigen\G
*************************** 1. Reihe ***************************
               Slave_IO_State: Wartet darauf, dass der Master ein Ereignis sendet
                  Master_Host: 192.168.254.130
                  Master_Benutzer: SLAVE
                  Master_Port: 3306
                Verbindungswiederholung: 60
              Master_Log_File:mysql-bin.000002
          Read_Master_Log_Pos: 462
               Relay_Log_Datei: LAPTOP-QR83QEC0-relay-bin.000002
                Relay_Log_Pos: 320
        Relay_Master_Log_File: mysql-bin.000002
             Slave_IO_Running: Ja
            Slave_SQL_Running: Nein
              Replicate_Do_DB:
          Replikat_Ignorieren_DB:
           Tabelle_replizieren:
       Tabelle_Ignorieren_replizieren:
      Wild_Do_Tabelle replizieren:
  Tabelle_Wild_Ignore_replizieren:
                   Letzte_Fehlernummer: 1146
                   Last_Error: Fehler „Tabelle ‚mycat.test1‘ existiert nicht“ bei Abfrage. Standarddatenbank: ‚mycat‘. Abfrage: ‚insert into test1(`id`,`name`) value(2,"TOm")‘

2) Daten in Nummer 3 einfügen. Lassen Sie uns erneut Daten in Nummer 3 einfügen, um zu sehen, ob die Nummern 1 und 2 angezeigt werden.

In Operation Nummer 3:

mysql> einfügen in test1(`id`,`name`) Wert(3,"kitt");
Abfrage OK, 1 Zeile betroffen (0,01 Sek.)

mysql> wähle * aus test1;
+----+--------+
| Ich würde | Name |
+----+--------+
| 1 | kleinlich |
| 2 | Tom |
| 3 | Kätzchen |
+----+--------+
3 Zeilen im Satz (0,00 Sek.)

MySQL>

Ansicht bei Nr. 1

mysql> wähle * aus test1;
+----+--------+
| Ich würde | Name |
+----+--------+
| 1 | kleinlich |
| 2 | Tom |
| 3 | Kätzchen |
+----+--------+
3 Zeilen im Satz (0,00 Sek.)

MySQL> 

Ansicht bei Nr. 2

mysql> wähle * aus test1;
+----+--------+
| Ich würde | Name |
+----+--------+
| 1 | kleinlich |
| 2 | Tom |
| 3 | Kätzchen |
+----+--------+
3 Zeilen im Satz (0,00 Sek.)

MySQL> 

Es ist ersichtlich, dass wir erfolgreich synchronisiert haben und die Einfügungsinformationen von Host Nummer 3 unter Nummer 1 angezeigt werden.

3) Verarbeitungsdaten mit Nummer 1

Als nächstes überprüfen wir die Operation Nummer 1

Nr. 1:

mysql> einfügen in test1(`id`,`name`) Wert(4,"lisa");
Abfrage OK, 1 Zeile betroffen (0,00 Sek.)

mysql> wähle * aus test1;
+----+--------+
| Ich würde | Name |
+----+--------+
| 1 | kleinlich |
| 2 | Tom |
| 3 | Kätzchen |
| 4 | lisa |
+----+--------+
4 Zeilen im Satz (0,00 Sek.)

MySQL> 

Nummer 3:

mysql> wähle * aus test1;
+----+--------+
| Ich würde | Name |
+----+--------+
| 1 | kleinlich |
| 2 | Tom |
| 3 | Kätzchen |
| 4 | lisa |
+----+--------+
4 Zeilen im Satz (0,00 Sek.)

MySQL>

Sie können sehen, dass sie miteinander synchronisiert sind.

Dies ist das Ende dieses Artikels über die MySQL-Master-Slave-Konfiguration und die Multi-Master-Multi-Slave-Konfiguration. Weitere Informationen zur MySQL-Master-Slave-Konfiguration und zur Multi-Master-Multi-Slave-Konfiguration finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • MySQL8.0.18-Konfiguration mehrerer Master und eines Slaves
  • Bidirektionale und kaskadierende MySQL-Multimasterreplikation

<<:  CSS3 verwendet Animationsattribute, um coole Effekte zu erzielen (empfohlen)

>>:  Das Homepage-Design spiegelt am besten das Niveau des Webdesigners wider

Artikel empfehlen

Der Iframe-Frame setzt den weißen Hintergrund im IE-Browser auf transparent

In letzter Zeit muss ich im Projektverlauf häufig ...

Lösen Sie das Docker.Socket-Berechtigungsproblem des VSCode-Docker-Plugins

Lösung: Beenden Sie alle mit .vscode in Zusammenh...

So führen Sie den Betrieb nach dem Verlassen des Docker-Containers weiter aus

Phänomen: Führen Sie ein Image aus, zum Beispiel ...

Beheben Sie den Nginx-Fehler „504 Gateway Time-out“

Studenten, die Websites erstellen, stellen häufig...

Der Unterschied zwischen ID- und Name-Attributen von HTML-Elementen

Heute bin ich etwas verwirrt über <a href="...

Vollbild-Drag-Upload-Komponente basierend auf Vue3

In diesem Artikel wird hauptsächlich die Vollbild...

JavaScript-Code zur Implementierung eines einfachen Rechners

In diesem Artikelbeispiel wird der spezifische Ja...

Eine kurze Einführung in MySQL-Funktionen

Inhaltsverzeichnis 1. Mathematische Funktionen 2....

Wie können die Transaktionseigenschaften von MySQL InnoDB sichergestellt werden?

Vorwort Wenn Sie jemand fragt: „Was sind die Merk...

Anwendungsbeispiele für die virtuelle Liste des WeChat-Applets

Inhaltsverzeichnis Vorwort Was ist eine virtuelle...

CocosCreator-Tutorial für den Einstieg: Erstellen Sie Ihr erstes Spiel mit TS

Inhaltsverzeichnis Prämisse TypeScript vs. JavaSc...