mysql8.0.23 Linux (Centos7) Installation vollständiges und ausführliches Tutorial

mysql8.0.23 Linux (Centos7) Installation vollständiges und ausführliches Tutorial

Im vorherigen Artikel wurden die wichtigsten Updates von MySQL 8.0.23 vorgestellt (Interpretation neuer Funktionen). Wenn Sie interessiert sind, klicken Sie hier, um es sich anzusehen!

Klicken Sie hier, um die neueste Version von Windows MySQL-8.0.23-winx64 herunterzuladen

mysql8.0.23 Linux (Centos7) Installations-Tutorial (im Anhang: Konfigurieren der Benutzerautorisierung für externe Netzwerkverbindungen und der Groß-/Kleinschreibung ignorierenden Konfiguration)

(Der Blogger wird hier ein paar Worte sagen und später auf den Punkt kommen. Im Entwicklungsprozess verdoppelt die Kombination von Datenbanken manchmal die Effizienz des Programms.)

Was ist eine relationale Datenbank?

Gängige relationale Datenbanken:
(Tatsächlich hat der Blogger nur MySQL Oracle sqlServer verwendet)
Oracle, DB2, PostgreSQL, Microsoft SQL Server, Microsoft Access, MySQL

  • Eine relationale Datenbank ist eine Datenbank, die auf der Grundlage des relationalen Modells erstellt wurde.
  • Das sogenannte relationale Modell ist ein „Eins-zu-eins, Eins-zu-viele, Viele-zu-viele“-Modell und andere relationale Modelle. Das relationale Modell bezieht sich auf ein zweidimensionales Tabellenmodell. Daher ist eine relationale Datenbank eine Datenorganisation, die aus zweidimensionalen Tabellen und den Verbindungen zwischen ihnen besteht.
  • Relationale Daten können einige relationale Modelldaten sehr gut speichern, z. B. entspricht ein Lehrer den Daten mehrerer Schüler („viele-zu-viele“), ein Buch entspricht mehreren Autoren („eins-zu-viele“) und ein Buch entspricht einem Veröffentlichungsdatum („eins-zu-eins“).
  • Das relationale Modell ist ein Modell, dem wir in unserem Leben häufig begegnen. Zur Speicherung dieser Art von Daten werden im Allgemeinen relationale Datenbanken verwendet.
  • Das relationale Modell umfasst Datenstrukturen (Datenspeicherungsprobleme, zweidimensionale Tabellen), Operationsbefehlssätze (SQL-Anweisungen) und Integritätsbeschränkungen (Datenbeschränkungen innerhalb von Tabellen, Beschränkungen zwischen Tabellen).

Bildbeschreibung hier einfügen

Eigenschaften relationaler Datenbanken:
Es ist sicher (da es auf der Festplatte gespeichert ist, gehen die Daten bei einem plötzlichen Stromausfall nicht verloren), leicht zu verstehen (basierend auf dem relationalen Modell), spart jedoch keinen Platz (da es auf dem relationalen Modell basiert, muss es bestimmte Regeln befolgen, z. B. die Zuweisung von Speicherplatz, auch wenn der Wert eines Felds in den Daten leer ist).

Was ist eine nicht-relationale Datenbank?

  • Nicht-relationale Datenbanken basieren hauptsächlich auf „nicht-relationalen Modellen“ (da relationale Modelle zu groß sind, wird „nicht-relational“ im Allgemeinen zur Darstellung anderer Datenbanktypen verwendet). Zu den nicht-relationalen Modellen gehören:

Spaltenmodell: Daten werden in Spalten gespeichert. Eine relationale Datenbank verwendet eine Zeile als Datensatz und eine Datenbank mit Spaltenmodell verwendet eine Spalte als Datensatz. (In diesem Modell werden Daten indiziert, die E/A ist sehr schnell und es handelt sich hauptsächlich um einige verteilte Datenbanken.)
Schlüssel-Wert-Paar-Modell: Die gespeicherten Daten sind ein „Schlüssel-Wert-Paar“, z. B. Name: Liming. Dann ist der im Namensschlüssel gespeicherte Wert Liming.
Dokumentmodell: Speichern Sie Daten als einzelne Dokumente, was einem „Schlüssel-Wert-Paar“ ähnelt.

Der Blogger hat keine anderen nicht-relationalen Datenbanken auf seinem Computer installiert (ich werde hier keine Screenshots machen~)

Bildbeschreibung hier einfügen

Es ist effizient (weil es im Speicher gespeichert ist), aber unsicher (bei einem Stromausfall gehen Daten verloren, aber Redis kann Daten mit der Festplatte synchronisieren). Viele nicht-relationale Datenbanken unterstützen mittlerweile die Übertragung auf die Festplatte.

Funktionen und Einführung in die MySQL 8.0-Version

Weiterführende Literatur
https://dev.mysql.com/doc/
MySQL-Server-Dokumentationsseite
https://dev.mysql.com/doc/refman/8.0/en/

Leistungssteigerungsstufe. Offiziellen Angaben zufolge ist MySQL 8.0 doppelt so schnell wie MySQL 5.7. MySQL 8.0 bietet bei Lese-/Schreib-Workloads, IO-intensiven Workloads und Workloads mit hoher Konkurrenz eine bessere Leistung als MySQL 5.7.

Bildbeschreibung hier einfügen

(Foto mit freundlicher Genehmigung von Alibaba Cloud)

2. Stärkere Unterstützung für NoSQL-Dokumente. MySQL bietet seit Version 5.7 eine NoSQL-Speicherfunktionalität und diese Funktionalität wurde in Version 8.0 erheblich verbessert. Diese Funktion macht eine separate NoSQL-Dokumentendatenbank überflüssig und der MySQL Document Store bietet außerdem Unterstützung für Transaktionen mit mehreren Dokumenten und vollständige ACID-Konformität für JSON-Dokumente im schemalosen Modus.

Bildbeschreibung hier einfügen

(Foto mit freundlicher Genehmigung von Alibaba Cloud)

Fensterfunktionen. Dabei handelt es sich um eine spezielle Funktion, die für eine Reihe von Datensätzen ausgeführt wird, die bestimmte Bedingungen erfüllen. Damit lassen sich mehrere neue Abfragemethoden implementieren. Fensterfunktionen ähneln Aggregatfunktionen wie SUM() und COUNT(), sie fassen jedoch mehrere Zeilen mit Abfrageergebnissen nicht zu einer Zeile zusammen, sondern fügen die Ergebnisse wieder in mehrere Zeilen ein. Das heißt, Fensterfunktionen erfordern kein GROUP BY. Durch die Verwendung von Fensterfunktionen wird die Effizienz der entsprechenden Analyseszenarien erheblich verbessert.

UTF-8-Kodierung. Ab MySQL 8.0 wird utf8mb4 als Standardzeichensatz für MySQL verwendet und Unicode 9 wird unterstützt. Der Standardzeichensatz wird von latin1 auf utf8mb4 geändert und die Standardsortierung wird von latin1_swedish_ci auf utf8mb4_800_ci_ai geändert.

Index ausblenden. Über Befehle kann der Index ausgeblendet oder angezeigt werden. Versteckte Indizes werden vom Abfrageoptimierer nicht verwendet. Wir können diese Funktion verwenden, um die Leistung verwandter Abfragen zu debuggen. Indem wir sie ausblenden oder anzeigen, können wir die Gründe für Unterschiede in der Datenbankleistung analysieren. Wir können auch ungültige Indizes entfernen.

So verbergen Sie einen Index:

ALTER TABLE TABLENAME ALTER INDEX IDXNAME UNSICHTBAR;

Anzeige dieses Indexes wiederherstellen

ALTER TABLE TABLENAME ALTER INDEX IDXNAME SICHTBAR;

Dauerhafte Einstellungen. MySQL 8.0 ergänzt den Befehl SET PERSIST. Der Konfigurationswert dieses Befehls wird in der Datei mysqld-auto.cnf im Datenverzeichnis gespeichert. Nach dem Neustart wird die Datei gelesen und die darin enthaltene Konfiguration verwendet, um die Standardkonfigurationsdatei zu überschreiben, was den Mangel ausgleicht, dass der Befehl SET GLOBAL nur vorübergehend wirksam sein kann.
Der Befehl lautet wie folgt:

Anzeige dieses Indexes wiederherstellen

SETZEN SIE PERSIST max_verbindungen = 400;

BLOB rekonstruieren. Durch die Neustrukturierung von BLOB werden Lese-/Aktualisierungsvorgänge von Fragmenten beschleunigt und können Vorgänge mit JSON-Daten beschleunigen. Die Unterstützung für JSON wurde durch die Hinzufügung der Funktion JSON_EXTRACT() zum Extrahieren von Daten aus JSON-Feldern basierend auf einem Pfadabfrageparameter und der Aggregatfunktionen JSON_ARRAYAGG() und JSON_OBJECTAGG() zum Gruppieren von Daten in JSON-Arrays bzw. -Objekte erheblich verbessert.

Wörterbuch für Transaktionsdaten. Vollständig von der MyISAM-Speicher-Engine getrennt, wird das Datenwörterbuch tatsächlich in einigen Tabellen in InnoDB platziert, und FRM-, TRG-, PAR- und andere Dateien werden nicht mehr benötigt; das Informationsschema wird jetzt als Ansicht der Datenwörterbuchtabelle angezeigt. Im Prinzip wird der MyISAM-Datentabellentyp nicht benötigt und Systemtabellen können in InnoDB platziert werden.

SQL-Rollen. Sie können Rollen erstellen und Rollen für Benutzer festlegen oder entfernen, was die Verwaltung von Berechtigungen erheblich erleichtert.

Tatsächlich gibt es viele damit verbundene Funktionen. Hier habe ich nur einige der wichtigsten herausgegriffen. Weitere Informationen finden Sie im oben stehenden Dokumentlink.

Der erste Schritt bei der Installation von mysql8.0.23 besteht darin, die Binärdatei (Installationspaket) herunterzuladen.

Offizielle Website-Adresse
https://www.mysql.com/
(Der Download-Speicherort der offiziellen Website kann sich bei einer Versionsaktualisierung ändern.)

Bildbeschreibung hier einfügen

Bildbeschreibung hier einfügen

Bildbeschreibung hier einfügen

Laden Sie die MySQL-Binärdatei herunter, die Ihrer eigenen Linux-Version entspricht

Bildbeschreibung hier einfügen

Schritt 2 Laden Sie die Datei in den angegebenen Ordner hoch und entpacken Sie sie

Bildbeschreibung hier einfügen

cd /opt/mysql
tar -xvf mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz
mv mysql-8.0.23-linux-glibc2.12-x86_64 mysql-8.0.23 # Der Name des entpackten Ordners ist lang, daher können wir ihn hier leicht ändern

Schritt 3: Benutzergruppen, Benutzer, Passwörter erstellen und autorisieren

Erstellen Sie eine Benutzergruppe und Benutzer und Passwort groupadd mysql
 Benutzeradd -g mysql mysql 

Bildbeschreibung hier einfügen

Autorisierter Benutzer (z. B. müssen die folgenden Verzeichnisse, die bei der Konfiguration von my.cnf angegeben wurden, vom MySQL-Benutzer autorisiert werden)
	chown -R mysql.mysql /opt/mysql/mysql-8.0.23 

Bildbeschreibung hier einfügen

Schritt 4: Grundlegende Informationen initialisieren (denken Sie daran, bei der Initialisierung die Groß- und Kleinschreibung zu berücksichtigen)

Erstellen Sie ein Datenspeicherverzeichnis mkdir data 
Wechseln Sie in das Bin-Verzeichnis cd bin
Grundlegende Informationen zur Initialisierung Denken Sie daran, dass mysql8 während der Initialisierung auf Groß- und Kleinschreibung eingestellt werden muss, da es sonst keinen Unterschied zwischen nachfolgenden Änderungen und Löschungen und Neuinstallationen gibt. Nach der Initialisierung ist lower_case_table_names = 1 im ursprünglichen my.con ungültig. Fügen Sie daher während der Initialisierung unbedingt --lower-case-table-names = 1 hinzu.
 ./mysqld --user=mysql --basedir=/opt/mysql/mysql-8.0.23 --datadir=/opt/mysql/mysql-8.0.23/data/ --initialize --lower-case-table-names=1

Holen Sie sich das zufällige Standardkennwort für die Systeminitialisierung. Notieren Sie das Kennwort hier für nachfolgende Vorgänge (klopfen Sie an die Tafel).

Bildbeschreibung hier einfügen

Schritt 5 Bearbeiten Sie die Datei my.cnf

Es gibt viele weitere konfigurierbare Eigenschaften für my.cnf. Einzelheiten finden Sie in der offiziellen Dokumentation. Hier legen wir nur die wichtigsten Parameter fest. Der Dateipfadordner von my.cnf muss vorhanden sein (wenn die Datei nicht vorhanden ist, wird beim Start eine Meldung angezeigt, dass die Datei nicht vorhanden ist).

 #Legen Sie das Installationsverzeichnis von mysql basedir=/opt/mysql/mysql-8.0.23 fest
 #Legen Sie das Speicherverzeichnis der MySQL-Datenbankdaten fest datadir=/opt/mysql/mysql-8.0.23/data
 #Legen Sie den Standardzeichensatz des Clients fest character-set-server=UTF8MB4
# Die Standard-Speicher-Engine, die beim Erstellen einer neuen Tabelle verwendet wird default-storage-engine=INNODB
#Legen Sie fest, ob zwischen Groß- und Kleinschreibung unterschieden werden soll (dieser Parameter muss nach der Initialisierung auch hier vorhanden sein)
Kleinbuchstabentabellennamen = 1
# Standardmäßig wird das Plug-In „mysql_native_password“ zur Authentifizierung verwendet. default_authentication_plugin=mysql_native_password
#Kommentar Alle Konfigurationen unter mysqld_safe werden in das Datadir-Verzeichnis ausgegeben #[mysqld_safe]
#log-error=/var/log/mysqld.log
#pid-file=/var/run/mysqld/mysqld.pid 

Bildbeschreibung hier einfügen

Schritt 6: Fügen Sie den mysqld-Dienst zur Systemautorisierung hinzu und fügen Sie den Dienst hinzu

 Wechseln Sie in das Home-Verzeichnis cd /opt/mysql/mysql-8.0.23
Fügen Sie den mysqld-Dienst zum System hinzu cp -a ./support-files/mysql.server /etc/init.d/mysql
Dienste autorisieren und hinzufügen chmod +x /etc/init.d/mysql
 chkconfig --add mysql 

Bildbeschreibung hier einfügen

Schritt 7: Starten Sie den Dienst und stellen Sie eine Dienstsynchronisierungsverbindung her

 service mysql start #Dienst starten service mysql status #Dienststatus prüfen service mysql stop #Dienst stoppen service mysql restart #Dienst neu starten

Wenn einige Freunde den Dienst starten, werden sie möglicherweise darauf hingewiesen, dass der Ordner keine Berechtigung hat. Sie können das Protokoll unter datadir anzeigen und die MySQL-Berechtigung festlegen.

wie:

chown -R mysql:mysql /opt/mysql/mysql-8.0.23/data

Stellen Sie eine Dienstsynchronisierungsverbindung her (Freunde, die ln -s nicht verstehen, können in Baidu nach der Funktion dieses Befehls suchen).

 ln -s /opt/mysql/mysql-8.0.23/bin/mysql /usr/bin

Schritt 8: Melden Sie sich bei MySQL an und ändern Sie das Passwort

#Geben Sie die MySQL-Konsole ein mysql -uroot -p
#Passwort ändern ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Ihr Passwort'; 
#Berechtigungen löschen; 

Bildbeschreibung hier einfügen

Schritt 9: Konfigurieren der Autorisierung für externe Netzwerkverbindungen

#MySQL-Datenbank auswählen mysql verwenden;
 #Ändern Sie die Verbindungsadresse des Root-Benutzers. Jetzt ist localhost die lokale Maschine. Sie können auch eine feste IP-Adresse angeben. Hier öffnet % den Zugriff auf alle IP-Adressen. update user set host='%' where user='root';
 #Berechtigungen löschen; 

Bildbeschreibung hier einfügen

Der letzte Schritt besteht darin, die Konsole zu verlassen und die externe Netzwerk-Remoteverbindung zu testen (Installation abgeschlossen).

Ausfahrt; 

Bildbeschreibung hier einfügen

Bildbeschreibung hier einfügen

Dies ist das Ende dieses Artikels über das vollständige und detaillierte Tutorial zur Installation von mysql8.0.23 Linux (CentOS7). Weitere relevante Inhalte zur Installation von mysql8.0.23 Linux finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Tutorial zur Installation der mysql5.7.36-Datenbank in einer Linux-Umgebung
  • Einführung in den Installationsprozess von MySQL 8.0 in einer Linux-Umgebung
  • Detaillierte Schritte zur Installation von MySQL 8.0.27 in Linux 7.6-Binärdateien
  • Tutorial zur Installation von MySQL unter Linux
  • MySQL Multi-Instance-Bereitstellungs- und Installationshandbuch unter Linux
  • MySQL 8.0.25 Installations- und Konfigurations-Tutorial unter Linux
  • Detailliertes Tutorial zur Installation einer MySQL-Datenbank in einer Linux-Umgebung
  • Detailliertes Tutorial zur Installation von mysql-8.0.20 unter Linux
  • Diagramm des Tutorials zur schnellen Installation und Konfiguration des Linux-Systems MySQL8.0.19
  • Tutorial zur Installation von MySQL8 unter Linux CentOS7
  • Installieren Sie die MySQL-Datenbank in einer Linux-Umgebung

<<:  Beispielcode für ein großes Dropdown-Menü, implementiert in reinem CSS

>>:  Das Frontend erstellt und ändert CAD-Grafikdetails über JavaScript

Artikel empfehlen

So führen Sie py-Dateien direkt unter Linux aus

1. Erstellen Sie zuerst die Datei (wechseln Sie p...

HTML+CSS zum Erreichen eines reaktionsfähigen Karten-Hover-Effekts

Inhaltsverzeichnis erreichen: Zusammenfassen: Daz...

Detaillierte Erklärung der Interaktion zwischen React Native und IOS

Inhaltsverzeichnis Voraussetzungen RN übergibt We...

Implementierungsbeispiel eines Videoplayers basierend auf Vue

Wenn der vorhandene Videoplayer die Anforderungen...

Entdecken Sie, wie Ihnen eine LED den Einstieg in den Linux-Kernel erleichtert

Inhaltsverzeichnis Vorwort LED-Trigger Entdecken ...

MySQL sql_mode-Analyse und Einstellungserklärung

Beim Einfügen eines Datensatzes in die MySQL-Date...

Installation und Bereitstellung des MySQL Routers

Inhaltsverzeichnis 01 Einführung in MySQL Router ...

Detaillierte Erklärung des Marquee-Attributs in HTML

Dieses Tag ist nicht Teil von HTML3.2 und wird nu...

So installieren Sie Nginx in Docker

Installieren Sie Nginx auf Docker Nginx ist ein l...

Natives JS zur Implementierung eines Klickzahlenspiels

Native JS implementiert das Klickzahlenspiel zu I...

Was ist Makefile in Linux? Wie funktioniert es?

Führen Sie Ihre Programme mit diesem praktischen ...