Detaillierte Erläuterung des Replikationskonfigurationsbeispiels zwischen MySQL-Containern

Detaillierte Erläuterung des Replikationskonfigurationsbeispiels zwischen MySQL-Containern

Hintergrund

Letzte Woche hat das Unternehmen eine Schulung zur MySQL-Replikation durchgeführt und dieses Wochenende habe ich vor, das Gelernte in die Praxis umzusetzen.

Masterserver: MySQL-Container mysql_master auf NAS

  • NAS-Server-IP: 192.168.1.108
  • mysql_master innere IP: 172.17.0.6

Slave-Server: MySQK-Container mysql_slave auf Mac mini

  • IP des Mac Mini-Docker-Hosts: 192.168.1.139
  • mysql_slave innere IP: 172.17.0.2

Vorbereiten des MySQL-Containers

Vorbereiten von mysql_master

Erstellen Sie zwei Verzeichnisse zum Speichern von MySQL-Dateien

mkdir -p /mnt/md1/disk4/mysql
mkdir -p /mnt/md1/disk4/mysql-dateien

Erstellen Sie einen Master-MySQL-Knoten zum Testen

[root@TNAS-2664 disk4]# docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql_master -v /mnt/md1/disk4/mysql:/var/lib/mysql -v /mnt/md1/disk4/mysql-files:/var/lib/mysql-files mysql
3bebf0e21df6d9034ce8275b14ebb1616e11f5e2678b1e084d03c087ed91a72a

Zeigen Sie die Container-ID von MySQL an, das aktuell auf dem NAS ausgeführt wird

[root@TNAS-2664 ~]# Docker ps
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
40db0be51460 mysql „docker-entrypoint…“ vor 44 Sekunden. 29 Sekunden aktiv. 33060/tcp, 0.0.0.0:3307->3306/tcp mysql_master
db5f6a287a21 mautic/mautic "/entrypoint.sh ap..." vor 2 Wochen Seit 11 Tagen aktiv 0.0.0.0:8082->80/tcp mautic
dc1eac509c70 qianliu/mediawikiwithcomposer „docker-php-entryp…“ vor 2 Wochen Seit 11 Tagen aktiv 0.0.0.0:8086->80/tcp sarawiki
b5c0a00f5f42 mysql „docker-entrypoint…“ vor 2 Wochen Seit 11 Tagen aktiv 0.0.0.0:3306->3306/tcp, 33060/tcp mysql2
911c0a8987ba qianliu/mediawikiwithcomposer „docker-php-entryp…“ vor 2 Wochen 11 Tage aktiv 0.0.0.0:8083->80/tcp qianliuwiki

Verwenden Sie den Befehl „Docker cp“, um my.cnf auf den Hostcomputer zu kopieren und Änderungen vorzunehmen

docker cp 40db0be51460:/etc/mysql/my.cnf .

Fügen Sie die folgende Konfiguration zu my.cnf hinzu

Server-ID = 1
 gtid-mode = ON # (von GTID repliziert)
 enforce_gtid_consistency =1 #(repliziert durch GTID) 
 log-bin = Master-Protokoll
 binlog_format = gemischt
 Ablaufprotokolle in Tagen = 14
 sync-binlog = 1
 log-bin-trust-function-creators = 1
 
 # MASTER-DB # 
 binlog-ignore-db = mysql, Informationsschema, Leistungsschema, sys
 automatische Inkrementierung = 2
 Auto-Inkrement-Offset = 1
 
 # SLAVE-DB #
 replicate-ignore-db = mysql, Informationsschema, Leistungsschema, sys
 relay_log = Relay-Protokoll
 log-slave-updates = EIN

Kopieren Sie my.cnf mit Docker CP in den mysql_master-Container.

docker cp my.cnf 40db0be51460:/etc/mysql/

Geben Sie mysql_slave ein und stellen Sie fest, dass my.cnf aufgrund der Berechtigungsdatei ignoriert wird. Dies führt dazu, dass die gerade in my.cnf geschriebene Konfiguration nicht wirksam wird.

[root@TNAS-2664 ~]# docker exec -it mysql_master /bin/bash
root@40db0be51460:/#mysql -uroot -p123456
mysql: [Warnung] Die für alle beschreibbare Konfigurationsdatei „/etc/mysql/my.cnf“ wird ignoriert.
mysql: [Warnung] Die Verwendung eines Passworts in der Befehlszeilenschnittstelle kann unsicher sein.
Willkommen beim MySQL-Monitor. Befehle enden mit ; ​​oder \g.

Ändern Sie die Berechtigungen von my.cnf auf 664

root@40db0be51460:/# chmod 644 /etc/mysql/my.cnf
root@40db0be51460:/# beenden

Starten Sie mysql_slave neu, damit my.cnf wirksam wird

[root@TNAS-2664 ~]# Docker startet mysql_master neu

9. Geben Sie mysql_master ein, um den Master-Status anzuzeigen

mysql> Masterstatus anzeigen;
+-------------------+----------+--------------+-------------------------------------------------+----------------------------------+
| Datei | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------+----------+--------------+-------------------------------------------------+----------------------------------+
| master-log.000001 | 156 | | mysql,Informationsschema,Leistungsschema,Sys | |
+-------------------+----------+--------------+-------------------------------------------------+----------------------------------+
1 Zeile im Satz (0,00 Sek.)

mysql> beenden

Bereiten Sie den mysql_slave-Container vor

Erstellen Sie zwei Verzeichnisse auf dem Mac mini, um MySQL-Dateien zu speichern

mkdir -p /Volumes/MacintoshHDD_Data/mysql_slave_db/mysql
mkdir -p /Volumes/MacintoshHDD_Data/mysql_slave_db/mysql-files

Erstellen Sie einen mysql_slave-Container zum Testen

docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql_slave -v /Volumes/MacintoshHDD_Data/mysql_slave_db/mysql:/var/lib/mysql -v /Volumes/MacintoshHDD_Data/mysql_slave_db/mysql-files:/var/lib/mysql-files mysql

Zeigen Sie die Container-ID von mysql_slave an, der derzeit auf dem Macmini ausgeführt wird

/Volumes/MacintoshHDD_Data/mysql_slave_db  docker ps
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
8623ac99e5d4 mysql "docker-entrypoint.s…" vor 5 Sekunden Aktiv 4 Sekunden 33060/tcp, 0.0.0.0:3307->3306/tcp mysql_slave

Verwenden Sie den Befehl „Docker cp“, um my.cnf auf den Hostcomputer zu kopieren und Änderungen vorzunehmen

docker cp 8623ac99e5d4:/etc/mysql/my.cnf .

Fügen Sie die folgende Konfiguration zu my.cnf hinzu

Server-ID = 2
 gtid-Modus = EIN
 enforce_gtid_consistency = 1
 log-bin = Slave-Protokoll
 binlog_format = gemischt
 Ablaufprotokolle in Tagen = 14
 sync-binlog = 1
 log-bin-trust-function-creators = 1
 
 # MASTER-DB # 
 binlog-ignore-db = mysql, Informationsschema, Leistungsschema, sys
 automatische Inkrementierung = 2
 automatischer Inkrement-Offset = 2
 
 # SLAVE-DB #
 replicate-ignore-db = mysql, Informationsschema, Leistungsschema, Sys
 relay_log = Relay-Protokoll
 log-slave-updates = EIN

Kopieren Sie my.cnf mit Docker CP in den mysql_master-Container.

docker cp my.cnf 8623ac99e5d4:/etc/mysql/

Starten Sie mysql_slave neu, damit my.cnf wirksam wird

Docker startet MySQL_Slave neu

Geben Sie mysql_slave ein, um den Master-Status anzuzeigen

mysql> Masterstatus anzeigen;
+------------------+----------+--------------+-------------------------------------------------+------------------------------------------+
| Datei | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+-------------------------------------------------+------------------------------------------+
| slave-log.000001 | 1460 | | mysql,informationsschema,leistungsschema,sys | f102ae13-5341-11eb-a578-0242ac110002:1-5 |
+------------------+----------+--------------+-------------------------------------------------+------------------------------------------+
1 Zeile im Satz (0,00 Sek.)

MySQL-Benutzer für die Replikation vorbereiten

Bereiten Sie den MySQL-Benutzer für die Replikation in mysql_master vor

mysql> ERSTELLEN SIE BENUTZER 'Slave'@'192.168.1.139' IDENTIFIZIERT DURCH 'Slave';
Abfrage OK, 0 Zeilen betroffen (0,59 Sek.)

mysql> ERSTELLEN SIE BENUTZER 'Slave'@'172.17.0.2' IDENTIFIZIERT DURCH 'Slave';
Abfrage OK, 0 Zeilen betroffen (0,60 Sek.)

mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave'@'192.168.1.139';
Abfrage OK, 0 Zeilen betroffen (0,19 Sek.)

mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave'@'172.17.0.2';
Abfrage OK, 0 Zeilen betroffen (0,19 Sek.)

mysql> Berechtigungen leeren;
Abfrage OK, 0 Zeilen betroffen (0,10 Sek.)

mysql> beenden

Bereiten Sie den MySQL-Benutzer für die Replikation in mysql_slave vor

mysql> ERSTELLEN SIE BENUTZER 'Slave'@'192.168.1.108' IDENTIFIZIERT DURCH 'Slave';
Abfrage OK, 0 Zeilen betroffen (0,02 Sek.)

mysql> ERSTELLEN SIE BENUTZER 'Slave'@'172.17.0.6' IDENTIFIZIERT DURCH 'Slave';
Abfrage OK, 0 Zeilen betroffen (0,01 Sek.)

mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave'@'192.168.1.108';
Abfrage OK, 0 Zeilen betroffen (0,01 Sek.)

mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave'@'172.17.0.6';
Abfrage OK, 0 Zeilen betroffen (0,01 Sek.)

mysql> Berechtigungen leeren;
Abfrage OK, 0 Zeilen betroffen (0,00 Sek.)

MySQL>

Replikationskonfiguration

Konfigurieren Sie mysql_master

mysql> ändere Master in master_host='192.168.1.139',master_user='slave',master_password='slave',master_log_file='slave-log.000001',master_port=3307, master_log_pos=1460;
Abfrage OK, 0 Zeilen betroffen, 2 Warnungen (1,17 Sek.)

mysql> ändere Master in master_host='192.168.1.139',master_user='slave',master_password='slave',master_auto_position=1,get_master_public_key=1;
Abfrage OK, 0 Zeilen betroffen, 2 Warnungen (0,45 Sek.)

Konfigurieren Sie mysql_slave

mysql> ändere Master in master_host='192.168.1.108',master_user='slave',master_password='slave',master_log_file='master-log.000001',master_port=3307, master_log_pos=156;
Abfrage OK, 0 Zeilen betroffen, 2 Warnungen (0,15 Sek.)

mysql> ändere Master in master_host='192.168.1.108',master_user='slave',master_password='slave',master_auto_position=1,get_master_public_key=1;
Abfrage OK, 0 Zeilen betroffen, 2 Warnungen (0,14 Sek.)

Aktivieren der Replikation

Starten Sie den Slave auf mysql_master
mysql> Slave starten;
Abfrage OK, 0 Zeilen betroffen, 1 Warnung (0,00 Sek.)

Beim Überprüfen des Slave-Status habe ich festgestellt, dass die Replikation nicht erfolgreich gestartet wurde. Es erscheint eine Fehlermeldung: Zugriff verweigert für Benutzer „Slave“@„172.17.0.1“ (mit Passwort: JA). Sie müssen den entsprechenden Benutzer und die entsprechenden Berechtigungen auf mysql_slave erstellen.

mysql> Slave-Status anzeigen \G;
*************************** 1. Reihe ***************************
  Slave_IO_State: Verbindung zum Master wird hergestellt
   Master_Host: 192.168.1.139
   Master_User: Sklave
   Master_Port: 3307
  Verbindungswiederholung: 60
  Master_Log_Datei:
  Read_Master_Log_Pos: 4
  Relay-Log-Datei: relay-log.000001
  Relay_Log_Pos: 4
 Relay_Master_Log_File:
  Slave_IO_Running: Verbindung wird hergestellt
  Slave_SQL_Running: Ja
  Replicate_Do_DB:
  Replicate_Ignore_DB: MySQL, Informationsschema, Leistungsschema, Sys
  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: 0
  Relay_Log_Space: 156
  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: 1045
  Last_IO_Error: Fehler beim Verbinden mit Master „[email protected]:3307“ – Wiederholungszeit: 60 Wiederholungen: 2 Meldung: Zugriff für Benutzer „Slave“@„172.17.0.1“ verweigert (mit Passwort: JA)
  Last_SQL_Errno: 0
  Letzter_SQL_Fehler:
 Server-IDs replizieren_ignorieren:
  Master_Server_Id: 0
   Master_UUID:
  Master_Info_Datei: mysql.slave_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: 210110 13:02:12
 Letzter_SQL_Fehler_Zeitstempel:
  Master_SSL_Crl:
  Master_SSL_Crlpfad:
  Abgerufenes_Gtid_Set:
  Ausgeführtes_Gtid_Set:
  Auto_Position: 1
  DB replizieren_neu schreiben:
   Kanalname:
  Master_TLS_Version:
 Pfad des öffentlichen Masterschlüssels:
 Get_master_public_key: 1
  Netzwerk-Namespace:
1 Zeile im Satz (0,01 Sek.)

FEHLER:
Keine Abfrage angegeben

mysql> beenden

mysql_slave startet den Slave und überprüft den Slave-Status, um sicherzustellen, dass alles normal ist.

mysql> Slave-Status anzeigen;
mysql> Slave-Status anzeigen\G;
*************************** 1. Reihe ***************************
  Slave_IO_State: Wartet darauf, dass der Master ein Ereignis sendet
   Master_Host: 192.168.1.108
   Master_User: Sklave
   Master_Port: 3307
  Verbindungswiederholung: 60
  Master_Log_Datei: master-log.000001
  Read_Master_Log_Pos: 156
  Relay-Log-Datei: relay-log.000002
  Relay_Log_Pos: 373
 Relay_Master_Log_File: master-log.000001
  Slave_IO_Running: Ja
  Slave_SQL_Running: Ja
  Replicate_Do_DB:
  Replicate_Ignore_DB: MySQL, Informationsschema, Leistungsschema, Sys
  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: 156
  Relay_Log_Space: 576
  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: 9627309d-5341-11eb-aaa3-0242ac110006
  Master_Info_Datei: mysql.slave_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: f102ae13-5341-11eb-a578-0242ac110002:1-5
  Auto_Position: 1
  DB replizieren_neu schreiben:
   Kanalname:
  Master_TLS_Version:
 Pfad des öffentlichen Masterschlüssels:
 Get_master_public_key: 1
  Netzwerk-Namespace:
1 Zeile im Satz, 1 Warnung (0,01 Sek.)

FEHLER:
Keine Abfrage angegeben

Erstellen Sie einen Benutzer auf mysql_slave

mysql> ERSTELLEN SIE BENUTZER 'Slave'@'172.17.0.1' IDENTIFIZIERT DURCH 'Slave';
Abfrage OK, 0 Zeilen betroffen (0,01 Sek.)

mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave'@'172.17.0.1';
Abfrage OK, 0 Zeilen betroffen (0,00 Sek.)

mysql> Berechtigungen leeren;
Abfrage OK, 0 Zeilen betroffen (0,00 Sek.)

Überprüfen Sie den Slave-Status auf mysql_master erneut, alles ist normal

mysql> Slave-Status anzeigen \G;
*************************** 1. Reihe ***************************
  Slave_IO_State: Wartet darauf, dass der Master ein Ereignis sendet
   Master_Host: 192.168.1.139
   Master_User: Sklave
   Master_Port: 3307
  Verbindungswiederholung: 60
  Master_Log_Datei: slave-log.000001
  Read_Master_Log_Pos: 2022
  Relay-Log-Datei: relay-log.000002
  Relay_Log_Pos: 2237
 Relay_Master_Log_Datei: slave-log.000001
  Slave_IO_Running: Ja
  Slave_SQL_Running: Ja
  Replicate_Do_DB:
  Replicate_Ignore_DB: MySQL, Informationsschema, Leistungsschema, Sys
  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: 2022
  Relay_Log_Space: 2440
  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: 2
   Master_UUID: f102ae13-5341-11eb-a578-0242ac110002
  Master_Info_Datei: mysql.slave_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:
  Abgerufen_Gtid_Set: f102ae13-5341-11eb-a578-0242ac110002:1-7
  Ausgeführtes_Gtid_Set: f102ae13-5341-11eb-a578-0242ac110002:1-7
  Auto_Position: 1
  DB replizieren_neu schreiben:
   Kanalname:
  Master_TLS_Version:
 Pfad des öffentlichen Masterschlüssels:
 Get_master_public_key: 1
  Netzwerk-Namespace:
1 Zeile im Satz (0,01 Sek.)

FEHLER:
Keine Abfrage angegeben

Testen der Replikation
Erstellen Sie test_db_slave auf mysql_slave

mysql> DATENBANK ERSTELLEN test_db_slave;
Abfrage OK, 1 Zeile betroffen (0,01 Sek.)

Erstellen Sie test_db_master auf mysql_master

mysql> DATENBANK ERSTELLEN test_db_master;
Abfrage OK, 1 Zeile betroffen (0,24 Sek.)

Datenbanken auf mysql_slave anzeigen

mysql> Datenbanken anzeigen;
+--------------------+
| Datenbank |
+--------------------+
| Informationsschema |
|mysql |
| Leistungsschema |
|System|
| test_db_master |
| test_db_slave |
+--------------------+
6 Zeilen im Satz (0,00 Sek.)

MySQL>

Datenbanken auf mysql_master anzeigen

mysql> Datenbanken anzeigen;
+--------------------+
| Datenbank |
+--------------------+
| Informationsschema |
|mysql |
| Leistungsschema |
|System|
| test_db_master |
| test_db_slave |
+--------------------+
6 Zeilen im Satz (0,00 Sek.)

MySQL>

An diesem Punkt ist die MySQL-Replikationskonfiguration abgeschlossen.

Dies ist das Ende dieses Artikels über die Replikationskonfiguration zwischen MySQL-Containern. Weitere Informationen zur Replikationskonfiguration von MySQL-Containern 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:
  • Konfigurationsschritte für die MySQL-Gruppenreplikation (empfohlen)
  • MySQL5.6 Replikations-Master-Slave-Replikation (Lese-/Schreibtrennung) Konfiguration vollständige Version
  • Einführung in die halbsynchrone MySQL-Replikation
  • Leistungsoptimierung für die semisynchrone Replikation in MySQL 5.7 Enhanced Edition
  • MySQL-MMM-Installationshandbuch (Multi-Master-Replikationsmanager für MySQL)
  • Zusammenfassung der Probleme basierend auf der MySQL-Replikation
  • mysql5.5 Master-Slave (Replikation) Konfigurationsmethode
  • mysql5.5 Master-Slave (Replikation) Master-Slave-Konfiguration
  • MySQL Master-Slave-Replikation, halbsynchrone Replikation

<<:  HTML-Tabellen-Markup-Tutorial (14): Tabellenkopf

>>:  Detaillierte Erklärung zur Verwendung von Tomcat Native zur Verbesserung der Tomcat IO-Effizienz

Artikel empfehlen

So konfigurieren Sie einfach mehrere Server in Nginx

1: Ich werde nicht näher auf die Installation von...

ElementUI-Komponente el-dropdown (Falle)

Auswählen und ändern: Klicken Sie, um den aktuell...

SVN-Installation und grundlegende Bedienung (grafisches Tutorial)

Inhaltsverzeichnis 1. Was ist SVN? 2. Methoden zu...

Detaillierte Erläuterung der MySQL-Transaktionsverarbeitung

1. MySQL-Transaktionskonzept MySQL-Transaktionen ...

Analyse der Gründe, warum MySQL-Felddefinitionen nicht null verwenden sollten

Warum wird NULL so oft verwendet? (1) Javas Null ...

Manuelle und geplante Sicherungsschritte für die MySQL-Datenbank

Inhaltsverzeichnis Manuelle Sicherung Timer-Siche...

So löschen Sie den in Docker erstellten Container

So löschen Sie den in Docker erstellten Container...

Detaillierte Erklärung der MySQL-Dreiwertelogik und NULL

Inhaltsverzeichnis Was ist NULL Zwei Arten von NU...

Tutorial zur Installation des Nginx-RTMP-Streaming-Servers unter Ubuntu 14

1. RTMP Das RTMP-Streaming-Protokoll ist ein von ...

Responsive Layout-Zusammenfassung (empfohlen)

Grundkenntnisse der responsiven Layoutentwicklung...

Die Verwendung von Textbereichen in HTML und häufige Probleme und Fallanalyse

Der Textarea-Tag ist ein HTML-Tag, den wir häufig ...

Zusammenfassung häufig verwendeter Escape-Zeichen in HTML

Die in HTML häufig verwendeten Escape-Zeichen wer...

Grundlegendes Tutorial zur Steuerung des mobilen Roboters Turtlebot3 mit ROS

Chinesisch-Tutorial https://www.ncnynl.com/catego...

So verwenden Sie das Modul-FS-Dateisystem in Nodejs

Inhaltsverzeichnis Überblick Dateideskriptoren Sy...