MySQL ist eine kostenlose Datenbankverwaltungssystemsoftware, die am häufigsten in dreistufigen Anwendungen zum Speichern und Abrufen von Datensätzen und Informationen verwendet wird.
MySQL wurde ursprünglich von MYSQL AB entwickelt, das sich jetzt im Besitz der Oracle Corporation befindet. Es war die primäre Datenbankanwendung unter Linux, bis MariaDB, ein Fork von MySQL, ins Bild kam.
In diesem Artikel werden wir die Schritte zur Installation von MySQL 8.0 unter CentOS 8 / RHEL 8 durchgehen.
Die in diesem Artikel erwähnten Schritte funktionieren nur, wenn Sie das Abonnement auf RHEL 8 aktiviert oder das lokale yum-Repository auf Ihrem System konfiguriert haben.Installieren Sie MySQL 8.0 auf CentOS 8 / RHEL 8
MySQL 8.0 ist für CentOS 8 / RHEL 8 sowohl im OS AppStream-Repository als auch im MySQL Dev Community-Repository verfügbar. 1. Installieren Sie MySQL 8.0 von der MySQL Dev Community. 2. Installieren Sie MySQL 8.0 von AppStream1. Installieren Sie MySQL 8.0 von der MySQL Dev Community
Fügen Sie das offizielle MySQL-Repository hinzu, um den MySQL-Community-Server zu installieren.
rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm
Stellen Sie sicher, dass das MySQL-Repository hinzugefügt und aktiviert wurde, indem Sie den folgenden Befehl verwenden.
dnf repolist alle | grep mysql | grep aktiviert
Ausgabe:
mysql-connectors-community MySQL Connectors Community aktiviertmysql-tools-community MySQL Tools Community aktiviertmysql80-community MySQL 8.0 Community Server aktiviert
Verwenden Sie den dnf-Befehl in CentOS/RHEL, um die neueste stabile Version von MySQL zu installieren. Deaktivieren Sie das AppStream-Repository vorübergehend, um MySQL von der MySQL Dev Community zu installieren.
### CentOS 8 ### dnf install -y --disablerepo=appstream mysql-community-server### RHEL 8 ### dnf install -y --disablerepo=rhel-8-for-x86_64-appstream-rpms mysql-community-server
Ausgabe:
Abhängigkeiten gelöst.===============================================================================================================================================================Repository-Größe der Paketarchitekturversion===============================================================================================================================================================Installation:mysql -community-server x86_64 8.0.25-1.el8 mysql80-community 53 MInstallation von Abhängigkeiten:mysql-community-client x86_64 8.0.25-1.el8 mysql80-community 13 M mysql-community-client-plugins x86_64 8.0.25-1 .el8 mysql80-community 98 KB Basis 29 k. . .. . .(36/37):mysql-community-client-8.0.25-1.el8.x86_64.rpm 2,3 MB/s | 13 MB 00:05 (37/37):mysql-community-server-8.0.25-1.el8.x86_64.rpm 5,0 MB/s | 53MB 00:10--------------------------------------------- -------------------------------------------------- -------------------------------------------------- -----------------------Insgesamt 4,4 MB/s | 79 MB 00:17 Warnung:/var/cache/dnf/mysql80-community-b1f1ed5ba88ce0f8/packages/mysql-community-client-8.0.25-1.el8.x86_64.rpm:Header V3 DSA/SHA1-Signatur, Schlüssel-ID 5072e1f5:NOKEYMySQL 8.0 Community-Server 27 MB/s | 27 kB 00:00 GPG-Schlüssel wird importiert 0x5072E1F5:Benutzer-ID:„MySQL Release Engineering“ Fingerabdruck:A4A9 4068 76FC BD3C 4567 70C8 8C71 8D3B 5072 E1F5 Von:/etc/pki/rpm-gpg/ RPM-GPG-KEY-mysqlKey erfolgreich importiertLaufende TransaktionsprüfungTransaktionsprüfung erfolgreich.Laufende TransaktionstestTransaktionstest erfolgreich.Laufende Transaktion Vorbereiten:1/1 Installieren:perl-Pod-Escapes-1:1.07-395.el8.noarch 1/37. . .. . . perl-Term-Cap-1.17-395.el8.noarch perl-Text-ParseWords-3.30-395.el8.noarch perl-Text-Tabs+Wrap-2013.0523-395.el8.noarch perl-Time-Local-1:1.280 -1.el8.noarch perl-Unicode-Normalize-1.25-396.el8.x86_64 perl-constant-1.33-396.el8.noarch perl-interpreter-4:5.26.3-419.el8.x86_64 perl-libs-4 :5.26.3-419.el8.x86_64 perl-macros-4:5.26.3-419.el8.x86_64 perl-parent-1:0.237-1.el8.noarch perl-podlators-4.11-1.el8.noarch perl -threads-1:2.21-2.el8.x86_64 perl-threads-shared-1.58-2.el8.x86_64Fertig!
2. Installieren Sie MySQL 8.0 von AppStream
MySQL ist jetzt über Application Stream (Red Hat Enterprise Linux 8 für x86_64 – AppStream (RPMs)) für RHEL 8 und CentOS 8 verfügbar. Sie müssten also kein offizielles MySQL-Repository hinzufügen, um MySQL-Server auf RHEL 8 zu installieren.
Überprüfen Sie mit dem folgenden Befehl, ob das AppStream-Repository auf RHEL 8 aktiviert ist.
subscription-manager repos --list-enabled
Ausgabe:
Verwenden Sie den Befehl dnf, um die neueste Version von MySQL zu installieren.
dnf install -y @mysql
Ausgabe:
Letzte Metadaten-Ablaufprüfung:vor 0:01:25 Uhr am Freitag, 11. Oktober 2019, 15:35:47 Uhr UTC. Abhängigkeiten behoben.==============================================================================================================Größe des Repositorys der Arch-Version des Pakets =============================================================================================================Installieren von Gruppen-/Modulpaketen:mysql-server x86_64 8.0.13-1.module_el8.0.0+41+ca30bab6 AppStream 25 MInstallieren von Abhängigkeiten:mariadb-connector-c-config noarch 3.0.7-1.el8 AppStream 13 k mecab x86_64 0.996-1.module_el8.0.0+41+ca30bab6.9 AppStream 397 k mysql x86_64 8.0.13-1.module_el8.0.0+41+ca30bab6 AppStream 9.2 M mysql-common x 86_64 8.0.13-1.module_el8.0.0+41+ca30bab6 AppStream 142 k -Digest-MD5 x86_64 2.55-396.el8 AppStream 37 k perl-Net-SSLeay x86_64 1.85-6.el8 AppStream 358 k perl-URI noarch 1.73-3.el8 AppStream 116 k. . .. . .Enabling module streams:mysql 8.0 Transaction Summary=============================================================================================================Installieren Sie 51 Pakete. config-3.0.7-1.el8.noarch.rpm 12 kB/s | 13 kB 00:01 (2/51):mysql-common-8.0.13-1.module_el8.0.0+41+ca30bab6.x86_64.rpm 1,3 MB/s | 142 kB 00:00 (3/51):mecab-0.996-1.module_el8.0.0+41+ca30bab6.9.x86_64.rpm 328 kB/s | 397 kB 00:01 (4/51):mysql-errmsg-8.0.13-1.module_el8.0.0+41+ca30bab6.x86_64.rpm 5,7 MB/s | 523 kB 00:00 (5/51):perl-Digest-1.17-395.el8.noarch.rpm 530 kB/s | 27 kB 00:00 (6/51):perl-Digest-MD5-2.55-396.el8.x86_64.rpm 959 kB/s | 37 kB 00:00 (7/51):mysql-8.0.13-1.module_el8.0.0+41+ca30bab6.x86_64.rpm 6,3 MB/s | 9,2MB 00:01 . . .. . Transaktionstest erfolgreich. Transaktion wird ausgeführt perl-Carp-1.42-396.el8.noarch 3/51 Installieren:perl-Scalar-List-Utils-3:1.49-2.el8.x86_64 4/51 Installieren:perl-parent-1:0.237-1.el8. noarch 5/51 . . .. . .Installiert:mysql-server-8.0.13-1.module_el8.0.0+41+ca30bab6.x86_64 perl-IO-Socket-IP-0.39-5.el8.noarch perl-IO-Socket-SSL-2.060-2.el8 .noarch perl-Mozilla-CA-20160104-7.el8.noarch mariadb-connector-c-config-3.0.7-1.el8.noarch mecab-0.996-1.module_el8.0.0+41+ca30bab6.9.x86_64 mysql -8.0.13-1.module_el8.0.0+41+ca30bab6.x86_64 mysql-common-8.0.13-1.module_el8.0.0+41+ca30bab6.x86_64 mysql-errmsg-8.0.13-1.module_el8.0.0+41 +ca30bab6.x86_64 perl-Digest-1.17-395.el8.noarch perl-Digest-MD5-2.55-396.el8.x86_64 perl-Net-SSLeay-1.85-6.el8.x86_64 perl-URI-1.73-3.el8 .noarch perl-libnet-3.11-3.el8.noarch protobuf-lite-3.5.0-7.el8.x86_64 libaio-0.3.110-12.el8.x86_64 numactl-libs-2.0.12-2.el8.x86_64 Perl-Karpfen- 1.42-396.el8.noarch perl-Data-Dumper-2.167-399.el8.x86_64 perl-Encode-4:2.97-3.el8.x86_64 perl-Errno-1.28-416.el8.x86_64 perl-Exporter-5.72- 396.el8.noarch perl-Dateipfad-2.15-2.el8.noarch perl-Datei-Temp-0.230.600-1.el8.noarch perl-Getopt-Long-1:2.50-4.el8.noarch perl- HTTP-Tiny-0.074-1.el8.noarch perl-IO-1.38-416.el8.x86_64 perl-MIME-Base64-3.15-396.el8.x86_64 perl-PathTools-3.74-1.el8.x86_64 perl-Pod- Escapes-1:1.07-395.el8.noarch perl-Pod-Perldoc-3.28-396.el8.noarch perl-Pod-Simple-1:3.35-395.el8.noarch perl-Pod-Usage-4:1.69-395 .el8.noarch perl-Scalar-List-Utils-3:1.49-2.el8.x86_64 perl-Socket-4:2.027-2.el8.x86_64 perl-Speicherbar-1:3.11-3.el8.x86_64 perl-Term-ANSIColor-4.06-396.el8.noarch perl-Term-Cap-1.17-395.el8.noarch perl-Text-ParseWords-3.30-395.el8 .noarch perl-Text-Tabs+Wrap-2013.0523-395.el8.noarch perl-Time-Local-1:1.280-1.el8.noarch perl-Unicode-Normalize-1.25-396.el8.x86_64 perl-constant-1.33 -396.el8.noarch perl-interpreter-4:5.26.3-416.el8.x86_64 perl-libs-4:5.26.3-416.el8.x86_64 perl-makros-4:5.26.3-416.el8. x86_64 perl-parent-1:0.237-1.el8.noarch perl-podlators-4.11-1.el8.noarch perl-threads-1:2.21-2.el8.x86_64 perl-threads-shared-1.58-2.el8. x86_64 policycoreutils-python-utils-2.8-16.1.el8.noarch Fertig!
MySQL-Serverdienst verwalten
Starten Sie nach der Installation von MySQL den MySQL-Serverdienst mit dem folgenden Befehl.
systemctl startet mysqld
MySQL-Server beim Systemstart aktivieren.
systemctl aktiviert mysqld
Überprüfen Sie mit dem folgenden Befehl, ob der MySQL-Server gestartet wurde.
systemctl-Status mysqld
Ausgabe:
● mysqld.service – MySQL-Server geladen:geladen (/usr/lib/systemd/system/mysqld.service; aktiviert; Herstellervoreinstellung:deaktiviert) Aktiv:aktiv (läuft) seit Fr 2021-07-02 00:08:12 EDT; vor 11s Docs:man:mysqld(8) http://dev.mysql.com/doc/refman/en/using-systemd.html Main PID:3794 (mysqld) Status:„Server is operational“ Tasks:38 (limit :23664) Arbeitsspeicher:442,0 MB CGroup:/system.slice/mysqld.service └─3794 /usr/sbin/mysqldJul 02 00:08:01 rocky8.itzgeek.local systemd[1]:Starten von MySQL Server ... 02. Juli 00:08:12 rocky8.itzgeek.local systemd[1]:MySQL Server gestartet.
Sicherer MySQL-Server
Installiertes MySQL von der MySQL Dev Community
In CentOS 8 / RHEL 8 finden Sie das anfängliche MySQL-Root-Passwort in /var/log/mysqld.log. Sie können den folgenden Befehl verwenden, um das Passwort aus der Protokolldatei zu entnehmen.
cat /var/log/mysqld.log | grep -i 'temporäres Passwort'
Ausgabe:
2021-07-02T04:08:05.488758Z 6 [Hinweis] [MY-010454] [Server] Ein temporäres Passwort wird für root@localhost generiert:PlrS,Tw&d9q2
Jetzt müssen Sie mysql_secure_installation ausführen, um Ihre MySQL-Installation zu sichern. Dieser Befehl kümmert sich um das Setzen des Root-Passworts, das Entfernen anonymer Benutzer, das Verbieten der Root-Anmeldung aus der Ferne usw.
mysql_secure_installation
Ausgabe:
Sichern der Bereitstellung des MySQL-Servers. Geben Sie das Passwort für den Benutzer root ein:<Das bestehende Passwort für das Benutzerkonto root ist abgelaufen. Bitte legen Sie ein neues Passwort fest. Neues Passwort:< Neues Passwort erneut eingeben:< Die Komponente „validate_password“ wird auf dem Server installiert. Die nachfolgenden Schritte werden mit der bestehenden Konfiguration der Komponente ausgeführt. Vorhandenes Passwort für root verwenden. Geschätzte Stärke des Passworts:100 Passwort für root ändern? ((Drücken Sie y|Y für Ja, jede andere Taste für Nein) :N < ... überspringen. Standardmäßig hat eine MySQL-Installation einen anonymen Benutzer, sodass sich jeder bei MySQL anmelden kann, ohne dass ein Benutzerkonto für ihn erstellt werden muss. Dies dient nur zu Testzwecken und soll die Installation etwas reibungsloser gestalten. Sie sollten sie entfernen, bevor Sie in eine Produktionsumgebung wechseln. Anonyme Benutzer entfernen? (Drücken Sie y|Y für Ja, jede andere Taste für Nein):Y < Erfolg.Normalerweise sollte root nur erlaubt sein, sich von „localhost“ zu verbinden. Dadurch wird sichergestellt, dass niemand das Root-Passwort aus dem Netzwerk erraten kann. Root-Anmeldung aus der Ferne verbieten? (Drücken Sie y|Y für Ja, jede andere Taste für Nein):Y < Erfolg. Standardmäßig wird MySQL mit einer Datenbank namens „test“ geliefert, auf die jeder zugreifen kann. Dies ist ebenfalls nur zum Testen gedacht und sollte entfernt werden, bevor es in eine Produktionsumgebung verschoben wird. Testdatenbank und Zugriff darauf entfernen? (Drücken Sie y|Y für Ja, jede andere Taste für Nein):Y < - Testdatenbank wird gelöscht...Erfolg. - Privilegien auf Testdatenbank entfernen... Erfolgreich. Das Neuladen der Privilegientabellen stellt sicher, dass alle bisher vorgenommenen Änderungen sofort wirksam werden. Privilegientabellen jetzt neu laden? (Drücken Sie y|Y für Ja, jede andere Taste für Nein):Y < Erfolg.Alles erledigt!
Installiertes MySQL von AppStream
In CentOS 8/RHEL 8 wird kein Passwort für den MySQL-Root-Benutzer festgelegt . Also führen wir mysql_secure_installation aus, um Ihre MySQL-Installation zu sichern, indem wir das Root-Passwort festlegen, anonyme Benutzer entfernen, Root-Login aus der Ferne verbieten usw.
mysql_secure_installation
Ausgabe:
Sichern der Bereitstellung des MySQL-Servers. Herstellen einer Verbindung zu MySQL mit einem leeren Passwort. Die VALIDATE PASSWORD COMPONENT kann verwendet werden, um Passwörter zu testen und die Sicherheit zu verbessern. Es prüft die Stärke des Passworts und erlaubt den Benutzern, nur die Passwörter festzulegen, die sicher genug sind. Möchten Sie die Komponente VALIDATE PASSWORD einrichten? Drücken Sie y|Y für Ja, jede andere Taste für Nein:Y <Es gibt drei Ebenen der Kennwortvalidierungsrichtlinie:NIEDRIG Länge>=8MITTEL Länge>=8, numerisch, gemischte Groß- und Kleinschreibung und SonderzeichenSTRONG Länge>=8, numerisch, gemischte Groß- und Kleinschreibung, Sonderzeichen und WörterbuchdateiBitte geben Sie 0 =NIEDRIG, 1 =MITTEL ein und 2 =STARK:1 < Bitte legen Sie hier das Root-Passwort fest.Neues Passwort:< Neues Passwort erneut eingeben: < Geschätzte Stärke des Passworts:100Möchten Sie mit dem angegebenen Passwort fortfahren? (Drücken Sie y|Y für Ja, jede andere Taste für Nein):Y < Standardmäßig hat eine MySQL-Installation einen anonymen Benutzer, sodass sich jeder bei MySQL anmelden kann, ohne dass ein Benutzerkonto für ihn erstellt werden muss. Dies dient nur zu Testzwecken und soll die Installation etwas reibungsloser gestalten. Sie sollten sie entfernen, bevor Sie in eine Produktionsumgebung wechseln. Anonyme Benutzer entfernen? (Drücken Sie y|Y für Ja, jede andere Taste für Nein) :Y < Erfolg.Normalerweise sollte root nur erlaubt sein, sich von „localhost“ zu verbinden. Dadurch wird sichergestellt, dass niemand das Root-Passwort aus dem Netzwerk erraten kann. Root-Anmeldung aus der Ferne verbieten? (Drücken Sie y|Y für Ja, jede andere Taste für Nein):Y < Erfolg. Standardmäßig wird MySQL mit einer Datenbank namens „test“ geliefert, auf die jeder zugreifen kann. Dies ist ebenfalls nur zum Testen gedacht und sollte entfernt werden, bevor es in eine Produktionsumgebung verschoben wird. Testdatenbank und Zugriff darauf entfernen? (Drücken Sie y|Y für Ja, jede andere Taste für Nein):Y < - Testdatenbank wird gelöscht...Erfolg. - Privilegien auf Testdatenbank entfernen... Erfolgreich. Das Neuladen der Privilegientabellen stellt sicher, dass alle bisher vorgenommenen Änderungen sofort wirksam werden. Privilegientabellen jetzt neu laden? (Drücken Sie y|Y für Ja, jede andere Taste für Nein):Y < Erfolg.Alles erledigt!
Mit MySQL-Server arbeiten
Melden Sie sich als MySQL-Root-Benutzer beim MySQL-Server an.
mysql -u root -p
Ausgabe:
Passwort eingeben:<Willkommen beim MySQL-Monitor. Befehle enden mit; oder \g.Ihre MySQL-Verbindungs-ID ist 12Serverversion:8.0.13 QuellverteilungCopyright (c) 2000, 2018, Oracle und/oder seine Tochtergesellschaften. Alle Rechte vorbehalten.Oracle ist eine eingetragene Marke der Oracle Corporation und/oder ihrer verbundenen Unternehmen. Andere Namen können Warenzeichen ihrer jeweiligen Eigentümer sein. Geben Sie 'help;' oder '\h' für Hilfe. Geben Sie „\c“ ein, um die aktuelle Eingabeanweisung zu löschen.mysql>
Installieren Sie phpMyAdmin
Wenn Sie MySQL-Neuling sind und weniger Ahnung von der MySQL-Befehlszeile haben, sollten Sie phpMyAdmin installieren, ein webbasiertes Open-Source-Verwaltungstool zur Verwaltung von MySQL- und MariaDB-Datenbanken.
LESEN: So installieren Sie phpMyAdmin mit Apache unter CentOS 8 / RHEL 8
LESEN: So installieren Sie phpMyAdmin mit Nginx unter CentOS 8 / RHEL 8
Hinweise für MySQL 8.0, installiert aus dem Repository der MySQL Dev Community:
MySQL 8.0 verwendet einen caching_sha2_password-Mechanismus zur Authentifizierung, der verhindert, dass ältere Anwendungen derzeit auf Datenbanken einschließlich phpMyAdmin zugreifen. Einfach ausgedrückt, Sie werden sich nicht bei phpMyAdmin anmelden, es sei denn, wir deaktivieren diesen neuen Passwortmechanismus.
Sie können den neuen Passwortmechanismus global deaktivieren, indem Sie default-authentication-plugin=mysql_native_password in /etc/my.cnf platzieren (Benutzer, die nach dieser Änderung erstellt werden, haben den mysql_native_password-Authentifizierungsmechanismus) oder Sie können für Einzelpersonen zur alten nativen Authentifizierung (mysql_native_password) zurückkehren Benutzer (z. B. root) durch Ausführen von ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '
Schlussfolgerung
In diesem Artikel haben Sie gelernt, wie Sie MySQL 8.0 auf CentOS 8 / RHEL 8 installieren. Bitte teilen Sie uns Ihr Feedback im Kommentarbereich mit.