Detailliertes Tutorial zur Installation von MySQL 8.0.22 auf Redhat 7.3 (binäre Installation)

Detailliertes Tutorial zur Installation von MySQL 8.0.22 auf Redhat 7.3 (binäre Installation)

1. Laden Sie das MySQL-Installationspaket herunter

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

Schritte zum Herunterladen:

Filtern nach Betriebssystemversion

Bildbeschreibung hier einfügen

Wählen Sie das Archivinstallationspaket aus

Bildbeschreibung hier einfügen

Laden Sie das Installationspaket nach dem Herunterladen hoch und überprüfen Sie es mit MD5, um festzustellen, ob es mit dem offiziellen Wert in der obigen Abbildung übereinstimmt, um sicherzustellen, dass das Installationspaket während des Übertragungsvorgangs nicht beschädigt wird.

[root@MyDB1 ~]# cd /usr/local/software/
[root@MyDB1-Software]# md5sum mysql-8.0.22-el7-x86_64.tar.gz 
52e312605f66aaaa0efcd272b9fc0a1f mysql-8.0.22-el7-x86_64.tar.gz

Entpacken Sie das Installationspaket

[root@MyDB1-Software]# tar -zxvf mysql-8.0.22-el7-x86_64.tar.gz
[root@MyDB1-Software]# ln -s mysql-8.0.22-el7-x86_64/ mysql #Erstellen Sie einen Link für eine einfache Bedienung

2. Anweisungen zur MySQL-Deinstallation

  • Nur bei der RPM-Installationsmethode muss die alte MySQL-Version deinstalliert werden. Bei der Binärinstallation und der kompilierten Installation ist die Deinstallation der alten MySQL-Version nicht erforderlich. Achten Sie jedoch auf Portkonflikte.
  • Wenn Sie die alte Version von rpm nicht deinstallieren, werden Sie während der Installation darauf hingewiesen, dass mysql bereits installiert ist. Sie können es derzeit nicht erneut installieren. Sie können die Version nur über yum aktualisieren.
  • Um sicherzustellen, dass nachfolgende Vorgänge keine weiteren Konflikte verursachen, deinstallieren wir das ursprüngliche MySQL

Hinweis: Bevor Sie das alte MySQL deinstallieren, sichern Sie unbedingt Ihre Daten.

[root@MyDB1 ~]# rpm -qa|grep mysql #Überprüfen Sie, ob die MySQL-Datenbank installiert ist [root@MyDB1 ~]# rpm -qa|grep mysql|xargs rpm -e --nodeps #MySQL deinstallieren	
[root@MyDB1-Software]# rpm -qa|grep mariadb-libs|xargs rpm -e --nodeps #MariaDB deinstallieren

3. Benutzer und Gruppen erstellen

Neue Gruppen und Benutzer erstellen

[root@MyDB1 ~]# groupadd -g 2000 mysql
[root@MyDB1 ~]# useradd -u 2000 -g mysql -c "MySQL Server" -s /sbin/nologin mysql
[root@MyDB1 ~]# cat /etc/group|grep mysql
mysql:x:2000:
[root@MyDB1 ~]# cat /etc/passwd|grep mysql
mysql:x:2000:2000:MySQL-Software:/home/mysql:/sbin/nologin

Hinweis: Wenn die Gruppe und der Benutzer bereits vorhanden sind, löschen Sie die Systemstandardgruppe und den Systemstandardbenutzer und erstellen Sie sie erneut!

Löschen von Gruppen und Benutzern

[root@MyDB1 ~]# userdel mysql #Wenn ein Benutzer gelöscht wird, wird auch die entsprechende Gruppe gelöscht

Erteilen Sie Berechtigungen für den MySQL-Pfad

[root@MyDB1 ~]# cd /usr/local/software/
[root@MyDB1-Software]# chown -R mysql:mysql mysql*

Verzeichnisstruktur vor der Initialisierung

Bildbeschreibung hier einfügen

Hinweis: Derzeit gibt es kein Datenverzeichnis

MySQL-Initialisierung

Bearbeiten Sie die Konfigurationsdatei vor der Initialisierung

[root@MyDB1 ~]# vi /etc/my.cnf
[root@MyDB1 ~]# cat /etc/my.cnf


Der Inhalt ist wie folgt: (andere Konfigurationen richten sich nach den tatsächlichen Anforderungen)
[mysqld]
basedir = /usr/local/software/mysql
Datenverzeichnis = /usr/lokal/software/mysql/data
log_error = /usr/local/software/mysql/mysql-error.log
Port = 3306
socket = /usr/local/software/mysql/mysqld.sock
pid_file = /usr/local/software/mysql/mysqld.pid

Zeichensatzserver = utf8
Kleinbuchstabentabellennamen = 1
max_verbindungen=1000
sql_mode = 'STRICT_TRANS_TABLES,KEINE_NULL_IM_DATUM,KEINE_NULL_DATUM,FEHLER_FÜR_DIVISION_DURCH_NULL,KEINE_ENGINE_SUBSTITUTION'

[mysql]
Standardzeichensatz = utf8

[Kunde]
Standardzeichensatz = utf8

Die Initialisierung beginnt

[root@MyDB1 ~]# /usr/local/software/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/software/mysql --datadir=/usr/local/software/mysql/data

Während des Initialisierungsprozesses enthält die Ausgabeprotokolldatei das temporäre Passwort des Root-Benutzers

Bildbeschreibung hier einfügen

Verzeichnisstruktur nach der Initialisierung

Bildbeschreibung hier einfügen

5. Starten Sie den MySQL-Dienst

Methode 1 - init.d: ​​​​Starten Sie den Dienst

[root@MyDB1 ~]# cp /usr/local/software/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@MyDB1 ~]# /etc/init.d/mysqld start

Authentifizierungsdienst

[root@MyDB1 ~]# ps -ef|grep mysql 

Bildbeschreibung hier einfügen

Erläuterung

In der Abbildung gibt es zwei Prozesse, einen Hauptprozess und einen Daemon-Prozess. Wenn MySQL unerwartet stoppt, startet der Daemon den MySQL-Dienst automatisch neu

Demo

[root@MyDB1 ~]# kill -9 75341 #Beendet den Prozess direkt 

Bildbeschreibung hier einfügen

Methode 2 - systemctl: Bearbeiten der Startkonfigurationsdatei

[root@MyDB1-Subsystem]# vi /etc/systemd/system/mysqld.service


Der Inhalt ist wie folgt: (Nachteil: Bei Beendigung kann die Wiederherstellung nicht automatisch gestartet werden)
[Einheit]
Beschreibung=MySQL Server
Dokumentation=man:mysqld(8)
Dokumentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
Dokumentation=https://www.freedesktop.org/software/systemd/man/systemd.unit.html
Nach=Netzwerk.Ziel
Nach=syslog.target
[Installieren]
WantedBy=Mehrbenutzer.Ziel
[Service]
Benutzer=mysql
Gruppe=mysql
LimitNOFILE = 5000
ExecStart=/usr/local/software/mysql/bin/mysqld --defaults-file=/etc/my.cnf

Starten des Dienstes

[root@MyDB1 ~]# systemctl start mysqld.service
[root@MyDB1 ~]# systemctl status mysqld.service

6. Sicherheits- und Effizienzoptimierung

Startberechtigungsbeschränkungen

[root@MyDB1 ~]# cd /usr/local/software/mysql/bin/
[root@MyDB1 bin]# chmod 700 mysqld mysqld_safe 
[root@MyDB1 bin]# ll mysqld mysqld_safe 
-rwx------. 1 mysql mysql 441010738 24. September 03:42 mysqld
-rwx------. 1 mysql mysql 29157 24. September 03:18 mysqld_safe

Hinweis: Jetzt kann nur der Root-Benutzer den MySQL-Dienst starten und stoppen!

Der Service beginnt beim System

systemctl aktiviere mysqld.service
systemctl list-unit-dateien | grep mysql

7. Umgebungsvariablen konfigurieren

[root@MyDB1 ~]# vi /etc/profile

Der zusätzliche Inhalt ist wie folgt:
MYSQL_HOME=/usr/local/software/mysql
export PATH=.:$PATH:$MYSQL_HOME/bin

[root@MyDB1 ~]# Quelle /etc/profile #Neu laden, damit die Änderungen wirksam werden!

8. Ändern Sie das anfängliche Root-Passwort

Erstellen einer Socket-Verbindung

[root@MyDB1 ~]# ln -s /usr/local/software/mysql/mysqld.sock /tmp/mysql.sock

Melden Sie sich mit einem temporären Passwort an

[root@MyDB1 ~]# mysql -uroot -p
Passwort eingeben: 
Willkommen beim MySQL-Monitor. Befehle enden mit ; ​​oder \g.
Ihre MySQL-Verbindungs-ID ist 10
Serverversion: 8.0.22

Copyright (c) 2000, 2020, Oracle und/oder seine 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>

Hinweis: Wenn das temporäre Kennwort Sonderzeichen enthält, kann die Befehlszeileneingabe mehrdeutig sein. An dieser Stelle genügt es bei der Interaktion das Passwort einzugeben!

Root-Passwort ändern

mysql> Benutzer root@'localhost' ändern, identifiziert durch 'MyDB12@com';
Abfrage OK, 0 Zeilen betroffen (0,00 Sek.)

mysql> Berechtigungen leeren;
Abfrage OK, 0 Zeilen betroffen (0,00 Sek.)

Hinweis: Das MySQL8-Passwort muss eine bestimmte Komplexität aufweisen, sonst kann es nicht geändert werden. Starten Sie die Anmeldung nach dem Beenden der aktuellen Sitzung neu, damit es wirksam wird!

9. Konfigurieren Sie die MySQL-Remoteanmeldung

  • Schließen Sie die Firewall oder öffnen Sie den MySQL-Port
  • Zeigen Sie die Benutzer und Adressen an, die auf MySQL zugreifen dürfen
mysql> wähle Benutzer, Host aus mysql.user;
+------------------+------------+
| Benutzer | Gastgeber |
+------------------+------------+
|mysql.infoschema | lokaler Host |
| mysql.session | lokaler Host |
| mysql.sys | lokaler Host |
| Stammverzeichnis | lokaler Host |
+------------------+------------+
4 Zeilen im Satz (0,00 Sek.)

Aufgetretene Probleme

mysql> gewähre root@'%', identifiziert durch 'MyDB12@com', alle Berechtigungen für *.*;
FEHLER 1064 (42000): Ihre SQL-Syntax weist einen Fehler auf. Die richtige Syntax finden Sie im Handbuch zu Ihrer MySQL-Serverversion.
 in der Nähe von 'identifiziert durch 'MyDB12@com'' in Zeile 1

Hinweis: Bei diesem Fehler handelt es sich nicht um einen Syntaxfehler, da diese MySQL-Version das direkte Anlegen von Benutzern und die Vergabe von Rechten nicht unterstützt, sondern separat implementiert werden muss.

Erstellen eines Remote-Login-Benutzers

mysql> Benutzer ‚root‘@‚%‘ erstellen, identifiziert durch ‚MyDB12@com‘;
Abfrage OK, 0 Zeilen betroffen (0,01 Sek.)

Ermächtigung

mysql> gewähre 'root'@'%' alle Berechtigungen für *.*;
Abfrage OK, 0 Zeilen betroffen (0,01 Sek.)

mysql> Berechtigungen leeren;
Abfrage OK, 0 Zeilen betroffen (0,01 Sek.)

Dies ist das Ende dieses Artikels zur Installation von MySQL 8.0.22 auf Redhat 7.3 (binäre Installation). Weitere Informationen zur Installation von MySQL 8.0.22 auf Redhat 7.3 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:
  • Tutorial zur Installation der dekomprimierten Version von MySQL 8.0.22 (nur für Anfänger)
  • Super ausführliches Tutorial zur Installation und Konfiguration von MySQL8.0.22
  • Detailliertes Tutorial zur Installation von mysql8.0.22 auf Alibaba Cloud centos7

<<:  Eine kurze Diskussion über benutzerdefinierte VUE-Uni-App-Komponenten

>>:  CSS-Syntax für Tabellenränder

Artikel empfehlen

Ubuntu 16.04 Installations-Tutorial unter VMware 12

In diesem Artikel finden Sie das Installations-Tu...

Beispiel einer Skriptmethode für die Bindung von Linux-Dualnetzwerkkarten

Bei der Bedienung und Konfiguration von Linux wir...

MySQL-Update-Fall Update-Feldwert ist keine feste Operation

Wenn bei der Verarbeitung von Batch-Updates besti...

MySQL 8.0.13 Installations- und Konfigurations-Tutorial unter CentOS7.3

1. Grundlegende Umgebung 1. Betriebssystem: CentO...

Das Installationstutorial zu mysql5.5.28 ist super detailliert!

mysql5.5.28 Installations-Tutorial zu Ihrer Infor...

Einführung in die Anwendung der HTML-Tags superscript sup und subscript sub

HTML-Tag: hochgestellt In HTML definiert das <s...

Eine detaillierte Einführung in den netstat-Befehl in Linux

Inhaltsverzeichnis 1. Einleitung 2. Beschreibung ...

So erstellen Sie mit Docker von Grund auf ein persönliches SOLO-Blog

Inhaltsverzeichnis 1. Umweltvorbereitung 2. Docke...

JavaScript zum Erreichen eines Mouse-Tailing-Effekts

Mauseffekte erfordern die Verwendung von setTimeo...