Was ist MySQL NDB Cluster? MySQL NDB Cluster ist eine hochverfügbare, hochredundante Version von MySQL, die für verteilte Computerumgebungen geeignet ist. Vorarbeiten zum Aufbau eines ClustersBereiten Sie mindestens drei Server vor, einen als Verwaltungsserver und zwei als Datenserver und SQL-Server. Mehr Server sind natürlich besser.
Beginnen Sie mit der Bereitstellung des ClustersLaden Sie zunächst die Binärdatei von MySQL NDB Cluster herunter, entpacken Sie diese und führen Sie die folgenden Schritte aus. BereitstellungsverwaltungsserverAktualisieren Sie das System apt update -y und apt upgrade -y und apt installiere libncurses5 -y Kopieren Sie ndb_mgm und ndb_mgmd auf den Verwaltungsserver. scp ./mysql-cluster-gpl-7.6.17-linux-glibc2.12-x86_64/bin/ndb_mgm* [email protected]:/home/mgm Kopieren Sie auf dem Verwaltungsserver ndb_mgm und ndb_mgmd in den Ordner /usr/local/bin. cp -rfv /home/mgm/ndb_mgm* /usr/local/bin Erteilen Sie ndb_mgm und ndb_mgmd Ausführungsberechtigungen chmod +x /usr/local/bin/ndb_mgm* Hinzufügen eines Profils mkdir /var/lib/mysql-cluster vi /var/lib/mysql-cluster/config.ini config.ini [ndbd-Standard] # Optionen, die ndbd-Prozesse auf allen Datenknoten betreffen: NoOfReplicas=2 # Anzahl der Fragmentreplikate DataMemory=98M # Wie viel Speicher soll für die Datenspeicherung reserviert werden? [ndb_mgmd] # Management-Prozessoptionen: HostName=192.168.0.105 # Hostname oder IP-Adresse des Verwaltungsknotens NodeId=1 # Knoten-ID für diesen Verwaltungsknoten DataDir=/var/lib/mysql-cluster # Verzeichnis für Protokolldateien des Verwaltungsknotens [ndbd] # Optionen für Datenknoten „A“: # (ein [ndbd]-Abschnitt pro Datenknoten) HostName=192.168.0.104 # Hostname oder IP-Adresse NodeId=2 # Knoten-ID für diesen Datenknoten DataDir=/data/mysql-cluster/data # Verzeichnis für die Datendateien dieses Datenknotens [ndbd] # Optionen für Datenknoten „B“: # (ein [ndbd]-Abschnitt pro Datenknoten) HostName=192.168.0.106 # Hostname oder IP-Adresse NodeId=3 # Knoten-ID für diesen Datenknoten DataDir=/data/mysql-cluster/data # Verzeichnis für die Datendateien dieses Datenknotens [mysqld] # SQL-Knotenoptionen: HostName=192.168.0.104 # Hostname oder IP-Adresse # (zusätzliche mysqld-Verbindungen können # für diesen Knoten angegeben für verschiedene # Zwecke wie das Ausführen von ndb_restore) [mysqld] # SQL-Knotenoptionen: HostName=192.168.0.106 # Hostname oder IP-Adresse # (zusätzliche mysqld-Verbindungen können # für diesen Knoten angegeben für verschiedene # Zwecke wie das Ausführen von ndb_restore) Öffnen Sie die Firewall. Der Clusterverwaltungsdienst verwendet standardmäßig Port 1186. ufw erlauben 22 ufw erlauben 1186 ufw aktivieren Initialisieren und Starten des Verwaltungsservers cd /usr/local/bin/ ndb_mgmd --initial --configdir=/var/lib/mysql-cluster -f /var/lib/mysql-cluster/config.ini --ndb-nodeid=1 Wenn das folgende Ergebnis angezeigt wird, bedeutet dies, dass der Verwaltungsserver erfolgreich gestartet wurde root@mgm:/usr/local/bin# ndb_mgmd --initial --configdir=/var/lib/mysql-cluster -f /var/lib/mysql-cluster/config.ini --ndb-nodeid=1 MySQL Cluster Management Server mysql-5.7.33 ndb-7.6.17 Wir können den Befehl ndb_mgm erneut ausführen, um den Status des aktuellen Clusters anzuzeigen. root@mgm:/usr/local/bin#ndb_mgm -- NDB Cluster -- Management-Client -- ndb_mgm> anzeigen Verbunden mit dem Management-Server unter: localhost:1186 Cluster-Konfiguration --------------------- [ndbd(NDB)] 2 Knoten id=2 (nicht verbunden, akzeptiere Verbindung von 192.168.0.104) id=3 (nicht verbunden, akzeptiere Verbindung von 192.168.0.106) [ndb_mgmd(MGM)] 1 Knoten id=1 @192.168.0.105 (mysql-5.7.33 ndb-7.6.17) [mysqld(API)] 2 Knoten id=4 (nicht verbunden, akzeptiere Verbindung von 192.168.0.104) id=5 (nicht verbunden, akzeptiere Verbindung von 192.168.0.106) Bereitstellen des DatenserversFühren Sie die folgenden Schritte auf allen Datenservern aus Aktualisieren Sie das System apt update -y und apt upgrade -y und apt installiere libncurses5 -y Firewall aktivieren ufw erlauben 22 ufw erlauben 2202 ufw aktivieren Kopieren Sie ndbd und ndbmtd auf den Datenserver #Kopieren nach 192.168.0.106 scp ./mysql-cluster-gpl-7.6.17-linux-glibc2.12-x86_64/bin/ndbd [email protected]:/home/ndb1 scp ./mysql-cluster-gpl-7.6.17-linux-glibc2.12-x86_64/bin/ndbmtd [email protected]:/home/ndb1 #Kopieren nach 192.168.0.104 scp ./mysql-cluster-gpl-7.6.17-linux-glibc2.12-x86_64/bin/ndbd [email protected]:/home/ndb2 scp ./mysql-cluster-gpl-7.6.17-linux-glibc2.12-x86_64/bin/ndbmtd [email protected]:/home/ndb2 Kopieren Sie auf dem Verwaltungsserver ndbd und ndbmtd in den Ordner /usr/local/bin. #192.168.0.106 cp -rfv /home/ndb1/ndbd /usr/local/bin cp -rfv /home/ndb1/ndbmtd /usr/local/bin #192.168.0.104 cp -rfv /home/ndb2/ndbd /usr/local/bin cp -rfv /home/ndb2/ndbmtd /usr/local/bin Erteilen Sie ndbd Ausführungsberechtigungen chmod +x /usr/local/bin/ndbd chmod +x /usr/local/bin/ndbmtd Fügen Sie die Datei my.cnf unter /etc hinzu vi /etc/meine.cnf my.cnf-Datei [mysqld] # Optionen für den mysqld-Prozess: ndbcluster # NDB-Speicher-Engine ausführen [mysql_cluster] # Optionen für NDB-Clusterprozesse: ndb-connectstring=192.168.0.105 # Standort des Verwaltungsservers Erstellen Sie ein Verzeichnis für die Datenspeicherung, das mit dem im Verwaltungsdienst konfigurierten Pfad übereinstimmen muss mkdir -p /Daten/MySQL-Cluster/Daten Datendienst starten root@ndb1:/usr/local/bin# ndbd 2021-06-20 08:10:23 [ndbd] INFO – Angel verbunden mit „192.168.0.105:1186“ 2021-06-20 08:10:23 [ndbd] INFO -- Angel hat Node-ID zugewiesen: 3 Gehen Sie zurück zum Cluster-Verwaltungsserver, um den Cluster-Status zu überprüfen. Sie können sehen, dass der Datendienst erfolgreich verbunden wurde. root@mgm:/usr/local/bin#ndb_mgm -- NDB Cluster -- Management-Client -- ndb_mgm> anzeigen Verbunden mit dem Management-Server unter: localhost:1186 Cluster-Konfiguration --------------------- [ndbd(NDB)] 2 Knoten id=2 (nicht verbunden, akzeptiere Verbindung von 192.168.0.104) id=3 @192.168.0.106 (mysql-5.7.33 ndb-7.6.17, wird gestartet, Knotengruppe: 0) [ndb_mgmd(MGM)] 1 Knoten id=1 @192.168.0.105 (mysql-5.7.33 ndb-7.6.17) [mysqld(API)] 2 Knoten id=4 (nicht verbunden, akzeptiere Verbindung von 192.168.0.104) id=5 (nicht verbunden, akzeptiere Verbindung von 192.168.0.106) Wiederholen Sie die Schritte 4, 5, 6 und 7 auf einem anderen Server (192.168.0.104). Sie können das Ergebnis sehen. root@ndb2:/usr/local/bin# ndbd 2021-06-20 08:20:10 [ndbd] INFO – Angel verbunden mit „192.168.0.105:1186“ 2021-06-20 08:20:10 [ndbd] INFO -- Angel hat die Knoten-ID 2 zugewiesen Gehen Sie zurück zum Cluster-Verwaltungsserver, um den Cluster-Status zu überprüfen. Sie können sehen, dass alle Datendienste erfolgreich verbunden wurden. root@mgm:/usr/local/bin#ndb_mgm -- NDB Cluster -- Management-Client -- ndb_mgm> anzeigen Verbunden mit dem Management-Server unter: localhost:1186 Cluster-Konfiguration --------------------- [ndbd(NDB)] 2 Knoten id=2 @192.168.0.104 (mysql-5.7.33 ndb-7.6.17, Knotengruppe: 0, *) id=3 @192.168.0.106 (mysql-5.7.33 ndb-7.6.17, Knotengruppe: 0) [ndb_mgmd(MGM)] 1 Knoten id=1 @192.168.0.105 (mysql-5.7.33 ndb-7.6.17) [mysqld(API)] 2 Knoten id=4 (nicht verbunden, akzeptiere Verbindung von 192.168.0.104) id=5 (nicht verbunden, akzeptiere Verbindung von 192.168.0.106) Im Verzeichnis /data/mysql/data können Sie sehen, dass der Datendienst Daten root@ndb1:~# ls /data/mysql/data/ generiert hat. ndb_3_fs ndb_3_out.log ndb_3.pid Bereitstellen von SQL ServerMySQL nach SQL Server kopieren scp ./mysql-cluster-gpl-7.6.17-linux-glibc2.12-x86_64.tar.gz [email protected]:/home/ndb2 scp ./mysql-cluster-gpl-7.6.17-linux-glibc2.12-x86_64.tar.gz [email protected]:/home/ndb1 Entpacken Sie MySQL und kopieren Sie es in das Verzeichnis /usr/local tar -zxvf mysql-cluster-gpl-7.6.17-linux-glibc2.12-x86_64.tar.gz cp -rfv mysql-cluster-gpl-7.6.17-linux-glibc2.12-x86_64 /usr/local/ ln -snf /usr/local/mysql-cluster-gpl-7.6.17-linux-glibc2.12-x86_64 /usr/local/mysql cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql.server export PATH=$PATH:/usr/local/mysql/bin Quelle /etc/Profil Firewall aktivieren ufw erlauben 22 ufw erlauben 3306 ufw aktivieren Erstellen Sie ein Verzeichnis für die MySQL-Datenspeicherung mkdir -p /Daten/MySQL/Daten mkdir -p /data/mysql/run mkdir -p /var/log/mysql Erstellen Sie einen MySQL-Benutzer und zugehörige Verzeichnisse MySQL-Gruppenadd useradd -r -g mysql -s /bin/false mysql chown mysql:mysql /data/mysql/data chmod 750 /data/mysql/data chown mysql:mysql /data/mysql/run chmod 750 /data/mysql/run chown mysql:mysql /var/log/mysql chmod 750 /var/log/mysql MySQL-Konfigurationsdatei erstellen mkdir -p /etc/mysql vi /etc/mysql/my.cnf meine.cnf [mysqld] # Optionen für den mysqld-Prozess: ndbcluster # NDB-Speicher-Engine ausführen pid-Datei = /data/mysql/run/mysqld.pid Socket = /data/mysql/run/mysqld.sock Datenverzeichnis = /Daten/MySQL/Daten # log-fehler = /var/log/mysql/error.log # Standardmäßig akzeptieren wir nur Verbindungen vom lokalen Host Bindeadresse = 192.168.0.106 # Das Deaktivieren symbolischer Links wird empfohlen, um verschiedene Sicherheitsrisiken zu vermeiden symbolische Links = 0 [mysql_cluster] # Optionen für NDB-Clusterprozesse: ndb-connectstring = 192.168.0.105 # Standort des Verwaltungsservers [Kunde] Socket = /data/mysql/run/mysqld.sock MySQL initialisieren /usr/local/mysql/bin/mysqld --defaults-file=/etc/mysql/my.cnf --initialize --user=mysql --basedir=/usr/local/mysql Notieren Sie das Root-Benutzerkennwort sF#Hy,IuT6d#, das bei der MySQL-Initialisierung generiert wurde root@ndb1:~# /usr/local/mysql/bin/mysqld --defaults-file=/etc/mysql/my.cnf --initialize --user=mysql --basedir=/usr/local/mysql 2021-06-20T12:23:26.874302Z 0 [Warnung] TIMESTAMP mit implizitem DEFAULT-Wert ist veraltet. Bitte verwenden Sie die Serveroption --explicit_defaults_for_timestamp (weitere Einzelheiten finden Sie in der Dokumentation). 2021-06-20T12:23:27.102146Z 0 [Warnung] InnoDB: Neue Logdateien erstellt, LSN=45790 2021-06-20T12:23:27.145317Z 0 [Warnung] InnoDB: Erstellen von Systemtabellen mit Fremdschlüsseleinschränkungen. 2021-06-20T12:23:27.154405Z 0 [Warnung] Es wurde keine vorhandene UUID gefunden, daher gehen wir davon aus, dass dies das erste Mal ist, dass dieser Server gestartet wurde. Eine neue UUID wird generiert: 50a15854-d1c2-11eb-9792-000c29681e23. 2021-06-20T12:23:27.155927Z 0 [Warnung] Die Gtid-Tabelle ist nicht zur Verwendung bereit. Tabelle „mysql.gtid_executed“ kann nicht geöffnet werden. 2021-06-20T12:23:28.339372Z 0 [Warnung] CA-Zertifikat ca.pem ist selbstsigniert. 2021-06-20T12:23:28.624534Z 1 [Hinweis] Ein temporäres Passwort wird für root@localhost generiert: sF#Hy,IuT6d# Starten Sie MySQL /usr/local/mysql/bin/mysqld_safe --user=mysql & Ändern des Root-Benutzerkennworts mysqladmin -uroot -p'sF#Hy,IuT6d#' Passwort '123456' Gehen Sie zurück zum Cluster-Verwaltungsserver, um den Cluster-Status zu überprüfen. Sie können sehen, dass ein SQL-Dienst verbunden wurde. root@mgm:/usr/local/bin#ndb_mgm -- NDB Cluster -- Management-Client -- ndb_mgm> anzeigen Verbunden mit dem Management-Server unter: localhost:1186 Cluster-Konfiguration --------------------- [ndbd(NDB)] 2 Knoten id=2 @192.168.0.104 (mysql-5.7.33 ndb-7.6.17, Knotengruppe: 0, *) id=3 @192.168.0.106 (mysql-5.7.33 ndb-7.6.17, Knotengruppe: 0) [ndb_mgmd(MGM)] 1 Knoten id=1 @192.168.0.105 (mysql-5.7.33 ndb-7.6.17) [mysqld(API)] 2 Knoten id=4 (nicht verbunden, akzeptiere Verbindung von 192.168.0.104) id=5 @192.168.0.106 (mysql-5.7.33 ndb-7.6.17) Stellen Sie den SQL-Dienst auf einem anderen Server (192.168.0.104) bereit, kehren Sie zum Clusterverwaltungsserver zurück, um den Clusterstatus zu überprüfen, und Sie können sehen, dass alle SQL-Dienste erfolgreich verbunden wurden. root@mgm:/usr/local/bin#ndb_mgm -- NDB Cluster -- Management-Client -- ndb_mgm> anzeigen Cluster-Konfiguration --------------------- [ndbd(NDB)] 2 Knoten id=2 @192.168.0.104 (mysql-5.7.33 ndb-7.6.17, Knotengruppe: 0, *) id=3 @192.168.0.106 (mysql-5.7.33 ndb-7.6.17, Knotengruppe: 0) [ndb_mgmd(MGM)] 1 Knoten id=1 @192.168.0.105 (mysql-5.7.33 ndb-7.6.17) [mysqld(API)] 2 Knoten id=4 @192.168.0.104 (mysql-5.7.33 ndb-7.6.17) id=5 @192.168.0.106 (mysql-5.7.33 ndb-7.6.17) Alle Clusterdienste werden bereitgestellt. Lassen Sie uns testen, ob der Cluster erfolgreich bereitgestellt wurde.Erstellen Sie eine Datenbank und Tabelle auf MySQL unter 192.168.0.106 DATENBANK `wechat` ERSTELLEN; Tabelle erstellen wechat.user ( Spalte1 varchar(100) NULL, Spalte2 varchar(100) NULL ) ENGINE=ndbcluster STANDARD-ZEICHENSATZ=utf8mb4 COLLATE=utf8mb4_general_ci; Daten einfügen und MySQL anzeigen > Datenbanken anzeigen; +--------------------+ | Datenbank | +--------------------+ | Informationsschema | |mysql | |ndbinfo| | Leistungsschema | |System| | wechat | +--------------------+ 6 Zeilen im Satz (0,00 Sek.) mysql> wähle * von wechat.user; Leerer Satz (0,02 Sek.) mysql> wechat.user einfügen (Spalte1, Spalte2) Wert ('1', '2'); Abfrage OK, 1 Zeile betroffen (0,01 Sek.) mysql> wähle * von wechat.user; +---------+---------+ | Spalte1 | Spalte2 | +---------+---------+ | 1 | 2 | +---------+---------+ 1 Zeile im Satz (0,00 Sek.) Bei einer weiteren SQL Server-Abfrage ist das Ergebnis erfolgreich mysql> Datenbanken anzeigen; +--------------------+ | Datenbank | +--------------------+ | Informationsschema | |mysql | |ndbinfo| | Leistungsschema | |System| | wechat | +--------------------+ 6 Zeilen im Satz (0,00 Sek.) mysql> wähle * von wechat.user; Leerer Satz (0,07 Sek.) mysql> wähle * von wechat.user; +---------+---------+ | Spalte1 | Spalte2 | +---------+---------+ | 1 | 2 | +---------+---------+ 1 Zeile im Satz (0,00 Sek.) Nun fahren wir einen der Datenknoten herunter. Auf dem Verwaltungsserver sehen wir, dass ndbd einen heruntergefahren hat. root@mgm:/usr/local/bin#ndb_mgm -- NDB Cluster -- Management-Client -- ndb_mgm> anzeigen Verbunden mit dem Management-Server unter: localhost:1186 Cluster-Konfiguration --------------------- [ndbd(NDB)] 2 Knoten id=2 @192.168.0.104 (mysql-5.7.33 ndb-7.6.17, Knotengruppe: 0, *) id=3 (nicht verbunden, akzeptiere Verbindung von 192.168.0.106) [ndb_mgmd(MGM)] 1 Knoten id=1 @192.168.0.105 (mysql-5.7.33 ndb-7.6.17) [mysqld(API)] 2 Knoten id=4 @192.168.0.104 (mysql-5.7.33 ndb-7.6.17) id=5 @192.168.0.106 (mysql-5.7.33 ndb-7.6.17) Schreiben Sie ein Datenstück mysql> wähle * von wechat.user; +---------+---------+ | Spalte1 | Spalte2 | +---------+---------+ | 1 | 2 | +---------+---------+ 1 Zeile im Satz (0,01 Sek.) mysql> in wechat.user einfügen (Spalte1, Spalte2) Wert ('3', '4'); Abfrage OK, 1 Zeile betroffen (0,00 Sek.) mysql> wähle * von wechat.user; +---------+---------+ | Spalte1 | Spalte2 | +---------+---------+ | 3 | 4 | | 1 | 2 | +---------+---------+ 2 Zeilen im Satz (0,00 Sek.) Bei der Abfrage auf einem anderen SQL-Server sind die Ergebnisse dieselben mysql> wähle * von wechat.user; +---------+---------+ | Spalte1 | Spalte2 | +---------+---------+ | 3 | 4 | | 1 | 2 | +---------+---------+ 2 Zeilen im Satz (0,00 Sek.) Wir haben dann den SQL-Dienst 192.168.0.106 heruntergefahren root@mgm:/usr/local/bin#ndb_mgm -- NDB Cluster -- Management-Client -- ndb_mgm> anzeigen Verbunden mit dem Management-Server unter: localhost:1186 Cluster-Konfiguration --------------------- [ndbd(NDB)] 2 Knoten id=2 @192.168.0.104 (mysql-5.7.33 ndb-7.6.17, Knotengruppe: 0, *) id=3 (nicht verbunden, akzeptiere Verbindung von 192.168.0.106) [ndb_mgmd(MGM)] 1 Knoten id=1 @192.168.0.105 (mysql-5.7.33 ndb-7.6.17) [mysqld(API)] 2 Knoten id=4 @192.168.0.104 (mysql-5.7.33 ndb-7.6.17) id=5 (nicht verbunden, akzeptiere Verbindung von 192.168.0.106) Schreiben Sie Daten in den SQL-Dienst unter 192.168.0.104 mysql> in wechat.user einfügen (Spalte1, Spalte2) Wert ('5', '6'); Abfrage OK, 1 Zeile betroffen (0,00 Sek.) mysql> wähle * von wechat.user; +---------+---------+ | Spalte1 | Spalte2 | +---------+---------+ | 5 | 6 | | 3 | 4 | | 1 | 2 | +---------+---------+ 3 Zeilen im Satz (0,00 Sek.) Starten Sie den Datendienst und den SQL-Dienst von 192.168.0.106 root@mgm:/usr/local/bin#ndb_mgm -- NDB Cluster -- Management-Client -- ndb_mgm> anzeigen Verbunden mit dem Management-Server unter: localhost:1186 Cluster-Konfiguration --------------------- [ndbd(NDB)] 2 Knoten id=2 @192.168.0.104 (mysql-5.7.33 ndb-7.6.17, Knotengruppe: 0, *) id=3 @192.168.0.106 (mysql-5.7.33 ndb-7.6.17, Knotengruppe: 0) [ndb_mgmd(MGM)] 1 Knoten id=1 @192.168.0.105 (mysql-5.7.33 ndb-7.6.17) [mysqld(API)] 2 Knoten id=4 @192.168.0.104 (mysql-5.7.33 ndb-7.6.17) id=5 @192.168.0.106 (mysql-5.7.33 ndb-7.6.17) Bei der Abfrage der Datenbank unter 192.168.0.106 habe ich festgestellt, dass die während des Fehlerzeitraums generierten Daten synchronisiert wurden. root@ndb1:~# mysql -uroot -p Passwort eingeben: Willkommen beim MySQL-Monitor. Befehle enden mit ; oder \g. Ihre MySQL-Verbindungs-ID ist 4 Serverversion: 5.7.33-ndb-7.6.17-cluster-gpl MySQL Cluster Community Server (GPL) Copyright (c) 2000, 2021, Oracle und/oder seine Tochtergesellschaften. Oracle ist eine eingetragene Marke der Oracle Corporation und/oder ihrer Tochtergesellschaften. Andere Namen können Marken ihrer jeweiligen Eigentümer. Geben Sie „help;“ oder „\h“ ein, um Hilfe zu erhalten. Geben Sie „\c“ ein, um die aktuelle Eingabeanweisung zu löschen. mysql> wähle * von wechat.user; +---------+---------+ | Spalte1 | Spalte2 | +---------+---------+ | 1 | 2 | | 5 | 6 | | 3 | 4 | +---------+---------+ 3 Reihen im Satz (0,08 Sek.) Der Datenbankcluster wurde erfolgreich bereitgestellt. Lassen Sie uns die Vorsichtsmaßnahmen für den Cluster zusammenfassen.
Oben finden Sie Einzelheiten zum Erstellen eines MySQL-Clusters mit hoher Verfügbarkeit und hoher Leistung. Weitere Informationen zum Erstellen eines MySQL-Clusters mit hoher Verfügbarkeit und hoher Leistung finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Detaillierte Erklärung der Listendarstellung von Vue
>>: Fehler bei der Eingabe chinesischer Zeichen im Flex-Programm Firefox
Wie lässt sich feststellen, worauf dies hinweist?...
Vorwort: Integer ist einer der am häufigsten verw...
MySQL-Daemon konnte nicht gestartet werden – Fehl...
Enctype: Gibt den Kodierungstyp an, der vom Browse...
Dieser Artikel beschreibt die Benutzer- und Rolle...
Vorwort Ich muss dem Markodwn-Editor, den ich ger...
Gewerkschaftsexekution Verwenden Sie zur Vereinfa...
React ist eine JAVASCRIPT-Bibliothek zum Erstelle...
Mit etwa Version 0.6 wurde Privileged in Docker e...
Frage: Der häufig verwendete Befehl "ll"...
In diesem Artikelbeispiel wird der spezifische Co...
Hier ist ein einzeiliges Layout mit ul>li für ...
Allgemeine Verwendung von Regexp in Mysql Fuzzy-M...
Vorwort Dieser Artikel stellt hauptsächlich den r...
Anleitung in diesem Artikel: Es gibt zwei Möglich...