Detailliertes Tutorial zum Kompilieren und Installieren von MySQL 8.0.20 aus dem Quellcode

Detailliertes Tutorial zum Kompilieren und Installieren von MySQL 8.0.20 aus dem Quellcode

Im vorherigen Artikel haben wir Folgendes vorgestellt:

MySQL8.0.20-Installationstutorial und ausführliches Tutorial zu Installationsproblemen https://www.jb51.net/article/186202.htm

Download und Installation von MySQL8.0.20 und aufgetretene Probleme (mit Bildern und Text) https://www.jb51.net/article/186208.htm

Schritte zur Installation von Mysql8.0.20 auf CentOS7:

https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-20.html

1 Übersicht

Dieser Artikel beschreibt hauptsächlich, wie MySQL Community Edition 8.0.20 aus dem Quellcode kompiliert und installiert wird. Zunächst werden einige Kenntnisse zur Kompilierung und Installation vermittelt, und dann wird mit der Kompilierung und Installation begonnen.

2 Kenntnisse über die Kompilierung und Installation von Quellcode

2.1 erstellen und konfigurieren

make ist ein Kompilierungsbefehl, der im aktuellen Verzeichnis nach der Makefile-Datei sucht. Die Makefile-Datei enthält detaillierte Informationen zum Kompilieren des Quellcodes. Configure ist ein vom Softwareentwickler geschriebenes Erkennungsprogramm, um die Entwicklungsumgebung des Benutzers zu erkennen und nach Abschluss der Erkennung eine Makefile-Datei zu generieren. Normalerweise erkennt configure Folgendes:

  • Gibt es einen passenden Compiler?
  • Ob es über die erforderlichen Funktionsbibliotheken und andere Abhängigkeiten verfügt
  • Ist es mit diesem System kompatibel?
  • Existiert die Kernel-Headerdatei?

2.2 Tarball-Datei

Die Tarball-Datei ist eigentlich eine Datei, die den Quellcode mit Tar komprimiert. Zur Komprimierung wird normalerweise Gzip verwendet und die Erweiterung lautet normalerweise .tar.gz oder .tgz. Da Technologien wie bzip2 und xz jedoch bessere Komprimierungseffekte als gzip haben, werden der Dateiname und die Erweiterung ebenfalls zu .tar.bz2 oder .tar.xz. Normalerweise enthält eine Tarball-Datei:

  • Quellcode
  • Erkennungsdatei (configure/config)
  • Anleitung (README/INSTALL)

2.3 Kompilieren und installieren Sie zugehörige Komponenten aus dem Quellcode

2.3.1 Compiler

Zum Ausführen von Kompilierungsvorgängen ist ein Compiler erforderlich (normalerweise gcc).

2.3.2 make+autoconfig

Um den Kompilierungsprozess zu vereinfachen, muss Software, die im Tarball-Format veröffentlicht wird, normalerweise make gemäß den Abhängigkeiten der Zieldateien kompilieren. Da make jedoch Makefile erfordert, ist autoconfig erforderlich, um Makefile zu generieren.

2.3.3 Funktionsbibliothek

Die vom Kernel bereitgestellten Bibliotheken und zugehörigen Include-Dateien werden benötigt.

2.4 Statische und dynamische Bibliotheken

Funktionsbibliotheken werden in zwei Typen unterteilt: dynamische Bibliotheken und statische Bibliotheken, von denen die meisten in /lib und /lib64 platziert sind.

2.4.1 Statische Bibliotheken

Die Erweiterung lautet .a und wird während der Kompilierung direkt in das ausführbare Programm integriert, sodass die mit der statischen Bibliothek generierte Datei größer ist. Die kompilierte ausführbare Datei kann direkt ausgeführt werden, ohne auf externe Funktionsbibliotheken angewiesen zu sein. Darüber hinaus ist ein Upgrade schwierig, da es direkt in das Programm integriert ist und bei einem Upgrade der statischen Bibliothek eine Neukompilierung erforderlich ist.

2.4.2 Dynamische Bibliotheken

Die Erweiterung ist .so. Im Gegensatz zu statischen Bibliotheken haben dynamische Bibliotheken nur während der Kompilierung einen Zeiger im Programm. Wenn das ausführbare Programm die Funktionen der Funktionsbibliothek verwenden muss, liest es die Funktionsbibliothek zur Verwendung. Die generierte ausführbare Datei ist kleiner, aber das kompilierte Programm kann nicht unabhängig ausgeführt werden. Darüber hinaus ist das Upgrade bequemer und erfordert keine Neukompilierung, da die ausführbare Datei direkt auf die neue Funktionsbibliotheksdatei verweist.

2.5 Allgemeine Schritte zum Kompilieren und Installieren

  • (1) Quellcode abrufen: Im Allgemeinen verwenden Sie wget oder curl oder laden Sie ihn von einem Browser herunter.
  • (2) Hilfedatei anzeigen: Zeigen Sie nach der Dekomprimierung den relevanten Inhalt von Dateien wie INSTALL oder README an.
  • (3) Abhängigkeiten installieren: Installieren Sie Abhängigkeiten gemäß der offiziellen Website-Dokumentation oder den im vorherigen Schritt erhaltenen Informationen
  • (4) Makefile generieren: Verwenden Sie im Allgemeinen configure/config zum Konfigurieren, Erkennen der Betriebsumgebung, Angeben des Installationsorts, Ein-/Ausschalten entsprechender Funktionen, Angeben des Speicherorts zugehöriger Bibliotheken, Bestimmen von Abhängigkeiten usw. Im Allgemeinen müssen Sie –help verwenden, um die Option „Hilfe“ abzurufen, die entsprechenden Optionen anzugeben und dann Makefile zu konfigurieren und zu generieren.
  • (5) Kompilierung: Die eigentlichen Kompilierungsschritte, ein einfacher Make-Befehl, umfassen tatsächlich die Vorkompilierung der Header-Datei, die Vorverarbeitung, die Kompilierung und die Verknüpfungsschritte
  • (6) Installation: make install. Dieser Schritt führt eigentlich zwei Schritte aus: Installation und Betriebssystemverbindung.

Beachten Sie, dass die obigen Schritte in der richtigen Reihenfolge ausgeführt werden. Wenn der vorherige Schritt fehlschlägt, kann der nächste Schritt nicht ausgeführt werden. Mit anderen Worten: Der vorherige Schritt muss erfolgreich ausgeführt werden, bevor der nächste Schritt ausgeführt werden kann. Nach Abschluss der oben genannten sechs Schritte können Sie kompilieren und installieren. Im Allgemeinen sind einige Folgevorgänge erforderlich, z. B. das Hinzufügen des ausführbaren Dateipfads zu PATH, das Hinzufügen von Header- und Bibliotheksdateien zu /usr/include und /etc/ld.so.conf.d und das Hinzufügen von Online-Hilfedateien zu /etc/man_db.conf.

2.6 Psychologische Vorbereitung vor dem Kompilieren und Installieren

Hier ist der letzte Tipp. Vor der Installation können Sie Strg+W drücken, um diese Seite zu schließen und sich so unzählige Mühen zu ersparen.
Die häufigsten Probleme bei der Kompilierung und Installation sind Versions- und Abhängigkeitsprobleme. Versionsprobleme lassen sich leicht handhaben und können über den Paketmanager oder manuell aktualisiert werden. Was Abhängigkeitsprobleme betrifft, ist die Installation mit dem Paketmanager einfach, die Kompilierung und Installation jedoch sehr mühsam, da Sie nicht wissen, wie viele Abhängigkeiten unter einer bestimmten Abhängigkeit installiert werden müssen.
Daher müssen Sie ausreichend Zeit einplanen und genügend Geduld zum Lösen unzähliger Probleme mitbringen, um große Software wie MySQL und Workbench erfolgreich zu kompilieren und zu installieren.
Lassen Sie uns ohne weitere Umschweife loslegen.

3 MySQL installieren

3.1 Installationsabhängigkeiten

Die von MySQL benötigten Abhängigkeiten sind wie folgt:

  • cmake
  • machen (3,75 oder höher wird empfohlen)
  • Compiler (GCC 5.3+ oder Clang 4.0+ oder XCode 9+ oder Developer Studio 12.6+ oder Visual Studio 2017)
  • SSL-Bibliothek (verwendet standardmäßig OpenSSL des Systems)
  • Boost C++-Bibliothek, wird zum Erstellen benötigt, ist aber nicht für die Verwendung gedacht. Keine Installation erforderlich, Quellcode reicht aus.
  • Ncurses-Bibliothek
  • bison2.1+
  • git

3.2 Installation des Paketmanagers

Für mein Debian-System kann ich apt verwenden:

sudo apt-get install -y bison
 Git-Hostname 
libncurses-dev 
libssl-dev machen 
openssl-Paketkonfiguration 
Doxygen cmake machen

RedHat8.x:

sudo yum install -y bison bzip2 git Hostname ncurses-devel 
openssl openssl-devel pkgconfig tar wget zlib-devel 
Doxygen Diffutils Rpcgen Make Libtirpc-Devel Cmake GCC

RedHat7.x:

sudo yum install -y bison bzip2 git Hostname ncurses-devel 
OpenSSL OpenSSL-Entwicklung 
pkgconfig tar wget zlib-devel 
Doxygen cmake gcc

Andere können Sie selbst suchen.

3.2 Kompilieren und installieren

Wenn Sie es nicht mit einem Paketmanager installieren möchten, können Sie die Methode „Kompilieren und installieren“ verwenden.
Willkommen bei uns.

3.2.1 cmake installieren

tar -zxvf cmake-3.17.2.tar.gz
cd cmake-3.17.2
./bootstrap --prefix=/usr/local/cmake
sauber machen 
make -j 6 #6 ist die Anzahl der CPU-Kerne, benutzerdefinierte Änderung, wenn es fehlschlägt, verwenden Sie bitte make
Test machen
sudo make installieren

3.2.2 Installieren Sie make

Wenn kein Compiler vorhanden ist, können Sie es nicht kompilieren und installieren. Sie können das Softwarepaket zur Installation verwenden. Für mein Debian-System verwende ich direkt apt:

sudo apt installieren machen

3.2.3 GCC installieren

tar -xvf gcc-9.3.0.tar.xz
cd gcc-9.3.0
./contrib/download_voraussetzungen
mkdir-Build
CD-Build
../configure --prefix=/usr/local/gcc -enable-checking=release -disable-multilib 
sauber machen 
mache -j 6
Test machen
sudo make installieren
sudo ln -sv /usr/local/gcc/include /usr/include/gcc
#/etc/ld.so.conf.d/gcc.conf fügen Sie den folgenden Inhalt hinzu /usr/local/gcc/lib
/usr/local/gcc/lib64

3.2.4 Installieren Sie openssl

tar -zxvf openssl-1.1.1g.tar.gz
cd openssl-1.1.1g
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl/ssl
#prefix ist der Installationsort, Standard ist /usr/local
#openssldir ist der Speicherort der Konfigurationsdatei, in der auch das Zertifikat und das Schlüsselpaar gespeichert sind make clean 
mache -j 6
Test machen
sudo make installieren
sudo ln -sv /usr/local/openssl/include /usr/include/openssl
#/etc/ld.so.conf.d/openssl.conf plus folgender Inhalt /usr/local/openssl/lib

3.2.5 Download-Boost

Klicken Sie hier, um zur offiziellen Website zu gelangen.
Die erforderliche Version ist 1.70.0. Die aktuellste Version ist 1.73.0. Theoretisch sollten neuere Versionen verfügbar sein. Die hier heruntergeladene Version ist 1.70.0. Wenn Sie die Boost-Bibliothek nicht manuell herunterladen, können Sie DDOWNLOAD_BOOST auf 1 setzen, wenn Sie cmake verwenden, um ein Makefile zum Herunterladen zu generieren.

Bildbeschreibung hier einfügen

Nach dem Download einfach entpacken.

tar -xvf boost_1_70_0.tar.bz2

3.2.6 Installieren von ncurses

tar -zxvf ncurses-6.2.tar.gz
CD ncurses-6.2
./configure --prefix=/usr/local/ncurses
mache -j 6
sudo make installieren

sudo ln -sv /usr/local/ncurses/include /usr/include/ncurses
#/etc/ld.so.conf.d/ncurses.conf zu /usr/local/ncurses/lib hinzufügen

3.2.7 Bison installieren

tar -xvf bison-3.4.tar.xz
CD Bison-3.4
./configure --prefix=/usr/local/bison
mache -j 6
sudo make installieren
#/etc/ld.so.conf.d/bison.conf zu /usr/local/bison/lib hinzufügen

3.2.8 Git installieren

tar -xvf git-2.26.2.tar.xz
cd git-2.26.2
./configure --prefix=/usr/local/git \
--with-openssl=/usr/local/openssl \
--with-libpcre2=/usr/local/pcre2 \
--with-curl=/usr/local/curl \
--with-expat=/usr/local/expat \
--with-iconv=/usr/local/iconv \
--with-editor=/usr/bin/vim \
--with-zlib=/usr/local/zlib \
--with-tcltk=/usr/local/tcl
Alle Dokumentinformationen erstellen
sudo make install install-doc install-html install-info

3.2.9 Weiterverarbeitung

Pfad ändern:

#Fügen Sie export PATH=$PATH:\ zu ~/.bash_profile oder ~/.bashrc hinzu
/usr/local/cmake/bin:\
/usr/local/gcc/bin:\
/usr/local/openssl/bin:\
/usr/local/bison/bin:\
/usr/local/ncurses/bin:\
/usr/local/git/bin:\

Machen Sie die dynamische Bibliothek wirksam:

ldconfig

Wenn Sie nicht über ausreichende Berechtigungen verfügen, fügen Sie sudo hinzu.

3.3 MySQL Community Edition herunterladen

Offizielle Website hier.

Bildbeschreibung hier einfügen

Ich kenne den Unterschied zwischen der ersten und der zweiten Variante nicht, da ich beide ausprobiert habe und sie erfolgreich kompiliert und installiert werden können. Obwohl es heißt, dass der zweite einen Boost-Header hat, scheint er nutzlos zu sein. Hier wird die erste verwendet.
Überprüfung (optional):

md5sum mysql-boost-8.0.20.tar.gz 

Bildbeschreibung hier einfügen

3.4 Makefile erzeugen

sudo cmake .. \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_unicode_ci \ #
-DENABLED_LOCAL_INFILE=EIN \
-DWITH_SSL=System \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql/server \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_TCP_PORT=3306 \
-DDOWNLOAD_BOOST=0 \
-DWITH_BOOST=~/Desktop/boost
  • DDEFAULT_CHARSET: Gibt den Standardzeichensatz als utf8mb4 an. Aufgrund historischer Probleme ist das utf8 in MySQL nicht das echte utf8, sondern eine kastrierte Version mit einer maximalen Länge von nur drei Bytes. Bei einer vier Byte langen utf8-Kodierung kommt es zu Speicherausnahmen. Seit 5.5.3 wird vollständiges UTF-8 mit utf8mb4 implementiert.
  • DDEFAULT_COLLATION: Sortierregel, der Standard ist utf8mb4_0900_ai_ci, ein Typ von utf8mb4_unicode_ci. 0900 bezieht sich auf die Version des Unicode-Korrekturlesealgorithmus, „ai“ steht für „akzentlos“ (as bedeutet sensitiv) und „ci“ steht für „groß-/kleinschreibungslos“ (cs bedeutet groß-/kleinschreibungssensitiv). utf8mb4_unicode_ci bedeutet Sortieren und Vergleichen basierend auf Standard-Unicode, wodurch zwischen verschiedenen Sprachen genau sortiert werden kann. Wenn utf8mb4_general_ci auf bestimmte spezielle Zeichensätze stößt, sind die Sortierergebnisse möglicherweise inkonsistent und die Genauigkeit ist schlecht, aber die Leistung ist besser und das Vergleichen und Sortieren ist schneller.
  • DENABLED_LOCAL_INFILE gibt an, ob der Befehl zum Laden von Daten verwendet werden kann.
  • DWITH_SSL bedeutet, dass die SSL-Bibliothek des Systems verwendet wird. Wenn Sie die SSL-Bibliothek des Systems nicht verwenden, passen Sie den Pfad bitte an.
  • DCMAKE_INSTALL_PREFIX: MySQL-Installationsverzeichnis.
  • DMYSQL_DATADIR: MySQL-Datenverzeichnis, anfangs leer.
  • DMYSQL_TCP_PORT: Port, Standard 3306.
  • DDOWNLOAD_BOOST: Der Wert ist 0 oder 1, ob die Boost-Bibliothek heruntergeladen werden soll.
  • DWITH_BOOST: Wenn Sie die Boost-Bibliothek nicht herunterladen, ist dies der Speicherort der lokalen Boost-Bibliothek. Wenn Sie Boost herunterladen, wird der Download-Speicherort angegeben.

Für weitere Parameter verwenden Sie bitte

sudo cmake .. -LH

Überprüfen.

3.5 Kompilierung und Installation

sudo machen

oder

sudo make -jn

Der Autor hat make -j 6 ausprobiert, aber das ist fehlgeschlagen, sodass ihm nichts anderes übrig blieb, als zu make zu wechseln.
Es besteht immer noch eine große Lücke zwischen der Geschwindigkeit von make und make -j.
Nach dem Kompilieren empfiehlt es sich, es zu testen:

Test machen

Dann installieren Sie:

sudo make installieren

3.6 Nachträgliche Konfiguration

3.6.1 Benutzergruppen und Benutzer

Erstellen Sie eine neue Benutzergruppe und einen neuen Benutzer und ändern Sie die Berechtigungen für das Benutzerdatenverzeichnis:

sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql
sudo chown mysql:mysql /usr/local/mysql/data
sudo chmod 750 /usr/local/mysql/data

Ändern Sie das Datenverzeichnis nach Bedarf. Wenn später ein Schreibfehler auftritt, ändern Sie die Berechtigungen auf 777.

3.6.2 Konfigurationsdatei

Die Konfigurationsdatei ist my.cnf und kann in

/usw/
/usw./mysql/
Installationsverzeichnis /etc/
~/

Als nächstes erfolgt die Lesereihenfolge von oben nach unten. Nach der Installation durch den Autor ist die Standardeinstellung /etc/mysql/my.cnf. Dies ist die globale Konfiguration. ~/.my.cnf ist die benutzerspezifische Konfiguration. Ändern Sie hier direkt /etc/mysql/my.cnf:

[Client-Server]

# Importieren Sie alle .cnf-Dateien aus dem Konfigurationsverzeichnis
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mariadb.conf.d/

[mysqld]
Port = 3306
basedir=/usr/local/mysql/server
datadir=/usr/local/mysql/data
Zeichensatzserver = utf8mb4
[mysql]
Standardzeichensatz = utf8mb4
[Kunde]
Port = 3306
Standardzeichensatz = utf8mb4

Die Felder unter [mysqld] wurden neu hinzugefügt und Sie können das Datenverzeichnis selbst ändern.
Es wird empfohlen, den Zeichensatz auf utf8mb4 zu ändern, da utf8 in MySQL auf utf8mb3 verweist. Die von der UTF8-Kodierung unterstützte maximale Zeichenlänge beträgt 3 Byte. Wenn ein 4 Byte breites Zeichen gefunden wird, tritt eine Einfügungsausnahme auf. Das größte Unicode-Zeichen, das mit 3-Byte-UTF8 codiert werden kann, ist 0xffffff, was der Basic Multilingual Plane entspricht. Emoji und viele seltene chinesische Schriftzeichen können nicht gespeichert werden. Allerdings wird utf8mb4 erst ab 5.5.3 unterstützt. Aus Kompatibilitätsgründen sollte einheitlich utf8mb4 verwendet werden.

3.7 Initialisierung

Umgebungsvariablen ändern:

#.bashrc oder .bash_profile plus export PATH=$PATH:/usr/local/mysql/server/bin

verwenden

mysqld --initialize --user=mysql

oder

mysqld --initialize-insecure --user=mysql

Aktivieren Sie dann die SSL- und RSA-Unterstützung (optional):

mysql_ssl_rsa_setup

Zum Schluss starten Sie den Dienst:

mysqld_safe --user=mysql &

3.8 Passwort ändern

Melden Sie sich als Root an, wenn Sie eine unsichere Initialisierung verwenden:

mysql -u --skip-password

Initialisieren mit initialize:

mysql -u root -p

Geben Sie einfach das Passwort ein, das während der Initialisierung angezeigt wird.
Ändern Sie anschließend das Passwort:

Ändere den Benutzer root@localhost, identifiziert durch „xxx“;

3.9 Testen

Verwenden Sie die integrierten Funktionen mysqlshow und mysqladmin:

mysqladmin -u root -p Versionmysqlshow -u root -p 

Bildbeschreibung hier einfügen

3.10 Abschlussarbeiten

3.10.1 Aliase

Alias ​​md='mysqld -u mysql &'

Auf diese Weise können Sie den MySQL-Dienst durch die Eingabe von md starten.

3.10.2 Mycli installieren

Mycli ist ein MySQL-Befehlszeilen-Clienttool mit Autovervollständigung und Syntaxhervorhebung.
Verwenden Sie zur Installation pip. Für Python2 verwenden Sie bitte

pip installieren mycli

Für Python 3 verwenden Sie bitte

pip3 installieren mycli

Pip kann nicht gefunden werden, bitte installieren Sie:

sudo apt installiere python-pip#python2
sudo apt installiere python3-pip

Verwenden Sie dann mycli, um auf die Datenbank zuzugreifen:

mycli -u Wurzel

Viel Spaß beim Abschluss!

4 Referenzen

1. So installieren Sie MySQL unter Linux (YUM und Quellcode-Kompilierung)
2.utf8 und utf8mb4, utf8mb4_unicode_ci und utf8mb4_general_ci
3.MySQL-Installationsdokumentation auf der offiziellen Website

Zusammenfassen

Dies ist das Ende dieses Artikels über das ausführliche Tutorial zum Kompilieren und Installieren von MySQL 8.0.20 aus dem Quellcode. Weitere Informationen zum Kompilieren und Installieren von MySQL 8.0.20 aus dem Quellcode 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:
  • Analyse der neuen Funktionen von MySQL 8.0 - Transaktionales Datenwörterbuch und Atomic DDL
  • Detaillierte Erläuterung der MySQL 8.0-Wörterbuchtabellenerweiterung
  • Detailliertes Tutorial zum Herunterladen und Installieren von mysql8.0.21
  • MySQL 8.0.21.0 Community Edition Installations-Tutorial (ausführliche Abbildungen)
  • So installieren Sie MySQL 8.0.13 in Alibaba Cloud CentOS 7
  • Wie installiert und verbindet man Navicat in MySQL 8.0.20 und worauf muss man achten?
  • Detailliertes Tutorial zur Installation der MySQL 8.0.20-Datenbank auf CentOS 7
  • mysql8.0.20 herunterladen und installieren und aufgetretene Probleme (Abbildung und Text)
  • MySQL 8.0.20 Installations-Tutorial und ausführliches Tutorial zu Installationsproblemen
  • Detailliertes Tutorial zum Kompilieren und Installieren von mysql8.0.29 in der LNMP-Umgebung von CentOS8
  • So fügen Sie in MySQL 8.0 schnell Spalten hinzu

<<:  Zusammenfassung wichtiger Breakpoint-Debugging-Techniken für JavaScript (empfohlen)

>>:  Detaillierte Erläuterung der Lösung für das Problem der automatischen Trennung der xshell-Remoteverbindung

Artikel empfehlen

So erkennen Sie mit Apache Tika, ob eine Datei beschädigt ist

Apache Tika ist eine Bibliothek zur Dateityperken...

Zwei Arten von Tab-Anwendungen im Webdesign

Heutzutage werden Registerkarten häufig im Webdes...

3 einfache Möglichkeiten, Karusselleffekte mit JS zu erzielen

In diesem Artikel werden 3 Methoden beschrieben, ...

Schritte zur Vue-Batch-Update-DOM-Implementierung

Inhaltsverzeichnis Szeneneinführung Hohe Reaktion...

Sicherheitskonfigurationsstrategie für CentOS-Server

In letzter Zeit wurde der Server häufig mit Brute...

Installation von VMware Workstation unter Linux (Ubuntu)

Wenn Sie nicht wissen, wie das System auf dem Com...

HTML-strukturierte Implementierungsmethode

DIV+CSS-Struktur Lernen Sie CSS-Layout? Sie beherr...

Zusammenfassung zum horizontal scrollenden Website-Design

Horizontales Scrollen ist nicht in allen Situation...

Soll die Like-Funktion MySQL oder Redis verwenden?

Inhaltsverzeichnis 1. Häufige Fehler von Anfänger...

IE6/7 wird ein Chaos: Problem mit der Höhe leerer Textknoten

Vorwort: Verwenden Sie die Debugleiste, um den Dok...

Detaillierte Erklärung zu anonymen Slots und benannten Slots in Vue

Inhaltsverzeichnis 1. Anonyme Slots 2. Benannte S...