MySql 8.0.11 Installations- und Konfigurationstutorial

MySql 8.0.11 Installations- und Konfigurationstutorial

Offizielle Website-Adresse: https://dev.mysql.com/downloads/mysql/

Ich habe hier ein RHEL6.5-System, also wähle ich RedHat 6 x86, 64-Bit-Betriebssystem – laden Sie das erste RPM-Paket herunter – mysql-8.0.11-1.el6.x86_64.rpm-bundle.tar.

Derzeit bietet MySQL 8.0.11 Community Edition verschiedene Installationsmethoden, es wurden jedoch keine Installationsanweisungen für mysql_secure_installation gefunden, die im allgemeinen Linux-Installationspaket enthalten sind.

Daher wird hier die empfohlene RPM-Installation verwendet:

1. Nach dem Dekomprimieren von mysql-8.0.11-1.el6.x86_64.rpm-bundle.tar gibt es die folgenden 7 Dateien:

-rw-r--r-- 1 root root 28987588 9. April 01:06 mysql-community-client-8.0.11-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 672184 9. April 01:06 mysql-community-common-8.0.11-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 4443296 9. April 01:06 mysql-community-devel-8.0.11-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 2579460 9. April 01:06 mysql-community-libs-8.0.11-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 1902676 9. April 01:06 mysql-community-libs-compat-8.0.11-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 395918848 9. April 01:07 mysql-community-server-8.0.11-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 49092596 9. April 01:07 mysql-community-test-8.0.11-1.el6.x86_64.rpm

Erstellen Sie dann den MySQL-Benutzer:

Benutzeradd MySQL
passwd mysql

2. Die Installationsreihenfolge ist: (Es wird empfohlen, vor der Installation alle vorherigen MySQL-bezogenen Pakete zu deinstallieren, rpm -e --nodeps <Paketname> reicht aus)

[root@python ~]# rpm -ivh mysql-community-common-8.0.11-1.el6.x86_64.rpm
Warnung: mysql-community-common-8.0.11-1.el6.x86_64.rpm: Header V3 DSA/SHA1-Signatur, Schlüssel-ID 5072e1f5: NOKEY
Vorbereitung... #################################################### [100%]
  1:mysql-community-common ###################################################### [100%]
[root@python ~]# rpm -ivh mysql-community-libs-8.0.11-1.el6.x86_64.rpm
Warnung: mysql-community-libs-8.0.11-1.el6.x86_64.rpm: Header V3 DSA/SHA1-Signatur, Schlüssel-ID 5072e1f5: NOKEY
Vorbereitung... #################################################### [100%]
  1:mysql-community-libs ##################################################### [100%]
[root@python ~]# rpm -ivh mysql-community-libs-compat-8.0.11-1.el6.x86_64.rpm
Warnung: mysql-community-libs-compat-8.0.11-1.el6.x86_64.rpm: Header V3 DSA/SHA1-Signatur, Schlüssel-ID 5072e1f5: NOKEY
Vorbereitung... #################################################### [100%]
  Datei /usr/lib64/mysql/libmysqlclient.so.16.0.0 aus der Installation von mysql-community-libs-compat-8.0.11-1.el6.x86_64 steht im Konflikt mit Datei aus dem Paket mysql-libs-5.1.73-8.0.1.el6_8.x86_64
  Datei /usr/lib64/mysql/libmysqlclient_r.so.16.0.0 aus der Installation von mysql-community-libs-compat-8.0.11-1.el6.x86_64 steht im Konflikt mit Datei aus dem Paket mysql-libs-5.1.73-8.0.1.el6_8.x86_64
[root@python ~]# rpm -e --nodeps mysql-libs-5.1.73-8.0.1.el6_8.x86_64
[root@python ~]# rpm -ivh mysql-community-libs-compat-8.0.11-1.el6.x86_64.rpm
Warnung: mysql-community-libs-compat-8.0.11-1.el6.x86_64.rpm: Header V3 DSA/SHA1-Signatur, Schlüssel-ID 5072e1f5: NOKEY
Vorbereitung... #################################################### [100%]
  1:mysql-community-libs-co###################################################### [100 %]
[root@python ~]# rpm -ivh mysql-community-server-8.0.11-1.el6.x86_64.rpm
Warnung: mysql-community-server-8.0.11-1.el6.x86_64.rpm: Header V3 DSA/SHA1-Signatur, Schlüssel-ID 5072e1f5: NOKEY
Fehler: Fehlgeschlagene Abhängigkeiten:
  mysql-community-client(x86-64) >= 8.0.0 wird benötigt von mysql-community-server-8.0.11-1.el6.x86_64
[root@python ~]# rpm -ivh mysql-community-client-8.0.11-1.el6.x86_64.rpm
Warnung: mysql-community-client-8.0.11-1.el6.x86_64.rpm: Header V3 DSA/SHA1-Signatur, Schlüssel-ID 5072e1f5: NOKEY
Vorbereitung... #################################################### [100%]
  1:mysql-community-client ###################################################### [100%]
[root@python ~]# rpm -ivh mysql-community-server-8.0.11-1.el6.x86_64.rpm
Warnung: mysql-community-server-8.0.11-1.el6.x86_64.rpm: Header V3 DSA/SHA1-Signatur, Schlüssel-ID 5072e1f5: NOKEY
Vorbereitung... #################################################### [100%]
  1:mysql-community-server ##################################################### [100%]
[root@python ~]# rpm -ivh mysql-community-devel-8.0.11-1.el6.x86_64.rpm
Warnung: mysql-community-devel-8.0.11-1.el6.x86_64.rpm: Header V3 DSA/SHA1-Signatur, Schlüssel-ID 5072e1f5: NOKEY
Vorbereitung... #################################################### [100%]
  1:mysql-community-devel ###################################################### [100%]
^[[A[root@python ~]# rpm -ivh mysql-community-test-8.0.11-1.el6.x86_64.rpm
Warnung: mysql-community-test-8.0.11-1.el6.x86_64.rpm: Header V3 DSA/SHA1-Signatur, Schlüssel-ID 5072e1f5: NOKEY
Fehler: Fehlgeschlagene Abhängigkeiten:
  perl(JSON) wird benötigt von mysql-community-test-8.0.11-1.el6.x86_64
--Ich bin zu faul, Perl zu installieren, also werde ich die Testsuite nicht installieren.

3. Nach Abschluss der Installation lauten die relevanten Informationen wie folgt:

[root@python ~]# mysql -V
mysql Ver 8.0.11 für Linux auf x86_64 (MySQL Community Server – GPL)
[root@python ~]# ll /etc/init.d/mysqld
-rwxr-xr-x 1 root root 7166 8. April 16:21 /etc/init.d/mysqld
[root@python ~]# ll /etc/my.cnf --Konfigurationsdatei location-rw-r--r-- 1 root root 1188 Apr 8 16:21 /etc/my.cnf

Das Standarddatenverzeichnis befindet sich in /var/lib/mysql/ und kann durch Ändern von my.cnf geändert werden. Der Startbefehl lautet wie folgt:

[root@python ~]# Dienst mysqld starten
MySQL-Datenbank initialisieren: [ OK ]
Starten von mysqld:  
[ OK ]

4. Ich stellte fest, dass ich mich ohne Passwort nicht anmelden konnte, also fügte ich skip-grant-tables zu my.cnf hinzu und startete neu, um das Passwort zurückzusetzen

mysql> Benutzer root@'localhost' ändern, identifiziert durch 'mysql';
FEHLER 1290 (HY000): Der MySQL-Server läuft mit der Option --skip-grant-tables und kann diese Anweisung daher nicht ausführen.
mysql> beenden
Tschüss

Es kann nicht geändert werden. . . Dann:

mysql> löschen aus mysql.user, wobei Benutzer='root';
Abfrage OK, 1 Zeile betroffen (0,10 Sek.)
mysql> Berechtigungen leeren;
Abfrage OK, 0 Zeilen betroffen (0,00 Sek.)
mysql> Benutzer root@'localhost' erstellen, identifiziert durch 'mysql';
FEHLER 1819 (HY000): Ihr Passwort erfüllt nicht die aktuellen Richtlinienanforderungen

Die Änderung ist immer noch nicht möglich. Überprüfen Sie die Anforderungen an die Kennwortkomplexität:

mysql> Variablen wie „%pass%“ anzeigen;
+-------------------------------------------------+-----------------+
| Variablenname | Wert |
+-------------------------------------------------+-----------------+
| caching_sha2_password_auto_generate_rsa_keys | EIN |
| caching_sha2_password_private_key_path | private_key.pem |
| caching_sha2_password_public_key_path | public_key.pem |
| Lebensdauer des Standardpassworts | 0 |
| Trennung bei abgelaufenem Passwort | EIN |
| mysql_native_password_proxy_users | AUS |
| Passwortverlauf | 0 |
| Kennwort-Wiederverwendungsintervall | 0 |
| Kennwort melden | |
| sha256_password_auto_generate_rsa_keys | EIN |
| sha256_password_private_key_path | private_key.pem |
| sha256_password_proxy_users | AUS |
| sha256_Passwort_Pfad des öffentlichen Schlüssels | public_key.pem |
| validate_password.check_user_name | EIN |
| validiere_password.dictionary_file | |
| validiere_Passwort.Länge | 8 |
| validate_password.Anzahl gemischter_Cases | 1 |
| validate_password.number_count | 1 |
| validate_password.policy | MITTEL |
| Passwort validieren.Anzahl der Sonderzeichen | 1 |
+-------------------------------------------------+-----------------+

Siehe die offizielle Website https://dev.mysql.com/doc/refman/8.0/en/validate-password-options-variables.html#sysvar_validate_password.policy

Es wurde festgestellt, dass es drei solcher Werte gibt, wie unten gezeigt:

Setzen Sie es also auf 0 und dann validate_password.length auf 4, um anzuzeigen, dass mindestens 4 Zeichen erforderlich sind. Der Grund für die Einstellung auf 4 liegt darin, dass der Wert dieses Parameters nicht kleiner sein kann als das Ergebnis der folgenden Formel:

validate_password.Anzahl_Anzahl
+ validiere_passwort.anzahl_sonderzeichen
+ (2 * validieren_Sie_das_Passwort.Anzahl_gemischter_Groß- und Kleinschreibung)

Fahren Sie also mit dem Erstellen von Benutzern fort. MySQL 8.0 hebt die Syntax zum direkten Gewähren von Benutzern auf. Sie können nur zuerst einen Benutzer erstellen und dann gewähren. Erstellen Sie Root daher wie folgt:

mysql> Benutzer root@'localhost' erstellen, identifiziert durch 'mysql';
FEHLER 1396 (HY000): Vorgang CREATE USER für „root“@„localhost“ fehlgeschlagen
mysql> FLUSH-PRIVILEGIEN;
Abfrage OK, 0 Zeilen betroffen (0,00 Sek.)
mysql> Benutzer root@'localhost' erstellen, identifiziert durch 'mysql';
FEHLER 1396 (HY000): Vorgang CREATE USER für „root“@„localhost“ fehlgeschlagen

Verdammt... was zur Hölle?

Ich habe also Stackoverflow durchsucht und alle sagten, es sei ein BUG, ​​also habe ich Folgendes getan:

mysql> drop user root@'localhost'; --Ja, das stimmt, obwohl der Benutzer root@'localhost' nicht vorhanden ist, musst du ihn trotzdem löschen.
Abfrage OK, 0 Zeilen betroffen (0,05 Sek.)
mysql> FLUSH-PRIVILEGIEN;
Abfrage OK, 0 Zeilen betroffen (0,01 Sek.)
mysql> Benutzer root@'localhost' erstellen, identifiziert durch 'mysql';
Abfrage OK, 0 Zeilen betroffen (0,03 Sek.)
mysql> gewähre root@'localhost' alles auf *.* mit der Gewährungsoption;
Abfrage OK, 0 Zeilen betroffen (0,03 Sek.)

Zum Schluss das Passwort geändert... Den Parameter „skip-grant-tables“ in der Parameterdatei entfernen und den Dienst mit „service mysqld restart“ neu starten.

5. Zum Schluss wird das Passwort festgelegt. Erstellen Sie einen Testbenutzer leo und versuchen Sie, eine Remoteverbindung herzustellen:

$ mysql -uleo -pmysql -h192.168.1.193
mysql: [Warnung] Die Verwendung eines Passworts in der Befehlszeilenschnittstelle kann unsicher sein.
FEHLER 2059 (HY000): Authentifizierungs-Plugin „caching_sha2_password“ kann nicht geladen werden: /usr/lib/mysql/plugin/caching_sha2_password.so: Gemeinsam genutzte Objektdatei kann nicht geöffnet werden: Keine solche Datei oder kein solches Verzeichnis

Mein 5.7-MySQL-Tool kann keine Verbindung herstellen, was peinlich ist. Überprüfen Sie die mit der Authentifizierung verbundenen Parameter:

mysql> Variablen wie „%auth%“ anzeigen;
+----------------------------------------------+--------------------------+
| Variablenname | Wert |
+----------------------------------------------+--------------------------+
| Standardauthentifizierungs-Plugin | Caching_Sha2_Passwort |
+----------------------------------------------+--------------------------+
1 Zeile im Satz (0,02 Sek.)

Überprüfen Sie die offizielle Website und finden Sie heraus, dass der Wert wie folgt lautet:

Auf der offiziellen Website steht auch, dass dieser Wert den Standard-Verschlüsselungsalgorithmus des Passworts beeinflusst, wenn bei der Benutzererstellung das Authentifizierungs-Plugin nicht explizit angegeben wird. Verdammt... Bedeutet das nicht, dass der Leo-Benutzer, den ich zuvor erstellt habe, die Standardauthentifizierung caching_sha2_password verwendet? Sehen Sie sich das an:

mysql> wähle Benutzer, Host, Plugin aus mysql.user;
+------------------+------------+-----------------------+
| Benutzer | Host | Plugin |
+------------------+------------+-----------------------+
| leo | % | caching_sha2_password |
| mysql.infoschema | lokaler Host | mysql_native_password |
| mysql.session | lokaler Host | mysql_native_password |
| mysql.sys | lokaler Host | mysql_native_password |
| root | lokaler Host | caching_sha2_password |
+------------------+------------+-----------------------+

Es ist vorbei. Es ist verdammt nochmal alles vorbei ...

Natürlich können Sie das Plugin nicht einfach aktualisieren, da dies dazu führen könnte, dass das verschlüsselte Passwort nicht richtig entschlüsselt wird und sich alle Ihre Passwörter ändern. Löschen Sie also alles außer root@'localhost' und erstellen Sie es neu.

Zuerst müssen Sie default_authentication_plugin=mysql_native_password in my.cnf hinzufügen und dann den Dienst mit service mysqld restart neu starten:

mysql> Benutzer Leo löschen;
Abfrage OK, 0 Zeilen betroffen (0,10 Sek.)
mysql> Berechtigungen leeren;
Abfrage OK, 0 Zeilen betroffen (0,00 Sek.)
mysql> Benutzer leo erstellen, identifiziert durch „mysql“;
Abfrage OK, 0 Zeilen betroffen (0,02 Sek.)
mysql> gewähre Leo alles auf *.*;
Abfrage OK, 0 Zeilen betroffen (0,08 Sek.)

$mysql -V
mysql Ver 14.14 Distrib 5.7.20, für Linux (x86_64) mit EditLine-Wrapper
$ mysql -uleo -pmysql -h192.168.1.193
mysql: [Warnung] Die Verwendung eines Passworts in der Befehlszeilenschnittstelle kann unsicher sein.
Willkommen beim MySQL-Monitor. Befehle enden mit ; ​​oder \g.
Ihre MySQL-Verbindungs-ID ist 16
Serverversion: 8.0.11 MySQL Community Server – GPL
Copyright (c) 2000, 2017, Oracle und/oder Tochtergesellschaften. Alle Rechte vorbehalten.
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>

Bisher ist die Remote-Verbindung normal.

Zusammenfassen

Oben finden Sie das vom Herausgeber vorgestellte Installations- und Konfigurationstutorial zu MySql 8.0.11. Ich hoffe, es ist für alle hilfreich. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!

Das könnte Sie auch interessieren:
  • Diagramm der Installationszusammenfassung für MySQL 8.0.11
  • Detailliertes Installationstutorial für mysql-8.0.11-winx64.zip
  • Grafisches Tutorial zur Installation und Konfiguration von mysql8.0.11 winx64 (win10)
  • Grafisches Tutorial zur Installation und Konfiguration von MySQL Community Server 8.0.11
  • Diagramm der Installationsschritte für MySQL 8.0.11 Community Green Edition für Windows
  • Grafisches Tutorial zur Installation und Konfiguration der komprimierten Version von MySQL 8.0.11
  • Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.11 und MacOS 10.13
  • Detailliertes Tutorial zur Installation der komprimierten Version von MySQL 8.0.11 unter Win10
  • Grafisches Tutorial zur Installation und Konfiguration der MSI-Version von MySQL 8.0.11
  • MySQL 8.0.11 Installationshandbuch für Mac

<<:  Fehlerbehebung bei hohem Speicherverbrauch von NodeJs, tatsächlicher Kampfrekord

>>:  Detaillierte Erklärung zum dynamischen Aktivieren/Deaktivieren der Hyperthreading-Technologie in Linux

Artikel empfehlen

Detaillierte Erklärung der Definition und Funktion von Trennzeichen in MySQL

Wenn Sie MySQL zum ersten Mal lernen, verstehen S...

Verwenden einer MySQL-Datenbank mit Python 3.4 unter Windows 7

Der detaillierte Prozess der Verwendung der MySQL...

So konfigurieren Sie die MySQL Master-Slave-Replikation unter Windows

Die MySQL Master-Slave-Replikation ermöglicht die...

Erfahrung im Selbststudium von CSS-Optimierungsfähigkeiten

1. Verwenden Sie CSS-Sprites. Der Vorteil besteht ...

Tutorial zu HTML-Formular-Tags (3): Eingabe-Tag

Tutorial zu HTML-Formular-Tags. In diesem Abschni...

Detailliertes Tutorial zur Installation von MySQL 5.7.26 auf CentOS7.4

In CentOS ist standardmäßig MariaDB installiert, ...

Docker+Nextcloud zum Erstellen eines persönlichen Cloud-Speichersystems

1. Docker-Installation und -Start yum installiere...

Einführung in die SSL- und WSS-Schritte für die Nginx-Konfiguration

Inhaltsverzeichnis Vorwort 1. Nginx-Installation ...

Ursachen und Lösungen für Verzögerungen bei der MySQL Master-Slave-Replikation

Inhaltsverzeichnis Ein kurzer Überblick über die ...