Detaillierte Schritte und Methoden zur Problemlösung zur Installation von MySQL 8.0.19 unter Linux

Detaillierte Schritte und Methoden zur Problemlösung zur Installation von MySQL 8.0.19 unter Linux

Ich habe vor Kurzem einen Tencent-Cloud-Server gekauft und eine Umgebung aufgebaut.

Dieser Hinweis dient der Erstinstallation von MySQL auf einem sauberen System, auf dem MySQL noch nie installiert war. Legen Sie das Installationsverzeichnis und das Datendateiverzeichnis selbst fest.

Linux-Systemversion: CentOS 7.3 64-Bit

Version der Installationsquelldatei: mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz

MySQL-Installationsort: /software/mysql

Speicherort der Datenbankdateidaten: /data/mysql

Hinweis: Um Verwirrungen vorzubeugen, wird hier der absolute Pfad zur Ausführung des Befehls verwendet.

Mit Ausnahme der # im Dateiinhalt sind alle # hier Linux-Befehle

>mysql ist der MySQL-Befehl

Schritt:

1. Erstellen Sie den Ordner Software und die Datenbankdatendatei /data/mysql im Stammverzeichnis

#mkdir /software/
#mkdir /data/mysql

2. Laden Sie die Datei mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz nach /software hoch.

--------------------

Hier habe ich die Datei mysql-8.0.19-linux-glibc2.12-x86_64.tar mit Router und Test heruntergeladen, also muss ich sie entpacken.

--------------------
#cd /software/
#xz -d mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz
#tar -xvf mysql-8.0.19-linux-glibc2.12-x86_64.tar

3. Ändern Sie den Namen des entpackten Ordners

#mv /software/mysql-8.0.19-linux-glibc2.12-x86_64/ /software/mysql

4. Erstellen Sie eine MySQL-Benutzergruppe und einen MySQL-Benutzer

#groupadd mysql

#useradd -r -g mysql mysql

5. Ordnen Sie den MySQL-Benutzer der MySQL-Benutzergruppe zu

#chown -R mysql:mysql /software/mysql/
#chown -R mysql:mysql /data/mysql/
#chown -R mysql /software/mysql/
#chown -R mysql /data/mysql

6. Ändern Sie die Berechtigungen des MySQL-Installationsordners mysql/

#chmod -R 755 /software/mysql/

7. Installieren Sie das libaio-Abhängigkeitspaket. Das System wird mit diesem Abhängigkeitspaket geliefert, sodass es nicht installiert werden muss. Das integrierte Abhängigkeitspaket meldet jedoch einen Fehler

Überprüfen Sie, ob libaio-Abhängigkeitspakete heimlich übertragen werden

#yum search libaio

Wenn es nicht installiert ist, können Sie es mit dem folgenden Befehl installieren

#yum install libaio

8. MySQL-Befehl initialisieren

#cd /software/mysql/bin
#./mysqld --user=mysql --basedir=/software/mysql --datadir=/data/mysql --initialize

Achten Sie bei der Ausführung des obigen Befehls besonders auf eine Zeile

[Hinweis] Für root@localhost wird ein temporäres Passwort generiert: o*s#gqh)F4Ck

root@localhost: gefolgt vom temporären Passwort für die Anmeldung bei der MySQL-Datenbank. Das von jeder Installation generierte temporäre Passwort ist unterschiedlich.

Wenn der Initialisierungsfehler wie folgt lautet:

Fehler beim Laden gemeinsam genutzter Bibliotheken: libnuma.so.1: Gemeinsam genutztes Objekt kann nicht geöffnet werden

Da libnuma in 32 Bit installiert ist, benötigen wir hier 64 Bit und können es lösen, indem wir die folgende Anweisung ausführen

#yum install numactl.x86_64

MySQL-Befehl nach der Ausführung neu initialisieren

9. Starten Sie den MySQL-Dienst

# sh /software/mysql/support-files/mysql.server start

Der obige Befehl zum Starten des MySQL-Dienstes meldet einen Fehler, da die MySQL-Konfigurationsdatei nicht geändert wurde. Der Fehlerinhalt lautet wie folgt:

./support-files/mysql.server: Zeile 239: my_print_defaults: Befehl nicht gefunden

./support-files/mysql.server: Zeile 259: cd: /usr/local/mysql: Keine solche Datei oder kein solches Verzeichnis

FEHLER beim Starten von MySQL! MySQL-Server (/usr/local/mysql/bin/mysqld_safe) konnte nicht gefunden werden

10. Ändern Sie die Mysql-Konfigurationsdatei

#vim /software/mysql/support-files/mysql.server

Vor der Änderung

wenn test -z "$basedir"
Dann
basedir=/usr/local/mysql
bindir=/usr/local/mysql/bin
wenn test -z "$datadir"
Dann
datadir=/usr/local/mysql/data
fi
sbindir=/usr/local/mysql/bin
libexecdir=/usr/local/mysql/bin
anders
bindir="$basedir/bin"
wenn test -z "$datadir"
Dann
Datenverzeichnis="$basedir/data"
fi
sbindir="$basedir/sbin"
libexecdir="$basedir/libexec"
fi

Nach

wenn test -z "$basedir"
Dann
basedir=/software/mysql
bindir=/software/mysql/bin
wenn test -z "$datadir"
Dann
Datenverzeichnis=/Daten/MySQL
fi
sbindir=/software/mysql/bin
libexecdir=/software/mysql/bin
anders
bindir="$basedir/bin"
wenn test -z "$datadir"
Dann
Datenverzeichnis="$basedir/data"
fi
sbindir="$basedir/sbin"
libexecdir="$basedir/libexec"
fi

Speichern und beenden

#cp /software/mysql/support-files/mysql.server /etc/init.d/mysqld

#chmod 755 /etc/init.d/mysqld

11. Ändern Sie die Datei my.cnf

#vi /etc/my.cnf

Kopieren Sie den folgenden Inhalt, um die aktuelle my.cnf-Datei zu ersetzen

[Kunde]
kein Piepton
Socket =/software/mysql/mysql.sock
#Rohr
# socket=0.0
Port = 3306
[mysql]
#Das ursprüngliche utf8 zeigt auf UTF8MB3. Die nachfolgende Version muss auf UTF8MB4 geändert werden. Machen wir das in einem Schritt. default-character-set=UTF8MB4
[mysqld]
basedir=/software/mysql
Datenverzeichnis=/Daten/MySQL
Port = 3306
pid-Datei=/software/mysql/mysqld.pid
#Grant-Tabellen überspringen
Namensauflösung überspringen
Socket = /software/mysql/mysql.sock
Zeichensatzserver = utf8
Standard-Speicher-Engine = INNODB
explizite_Voreinstellungen für_Zeitstempel = true
# Server-ID.
Server-ID = 1
max_verbindungen=2000
#query_cache_size wurde in Version 8.0 entfernt, daher kommentieren Sie #query_cache_size=0
Tabelle_öffnen_Cache=2000
tmp_table_size=246M
Thread-Cache-Größe = 300
#Begrenzen Sie die für jeden Datenbank-Thread verwendete Stapelgröße. Die Standardeinstellung ist für die meisten Anwendungen ausreichend thread_stack = 192k
Schlüsselpuffergröße = 512 M
Lesepuffergröße = 4 M
read_rnd_buffer_size=32M
innodb_data_home_dir = /data/mysql
innodb_flush_log_at_trx_commit=0
innodb_log_buffer_size=16M
innodb_buffer_pool_size=256M
innodb_log_file_size=128M
innodb_thread_concurrency=128
innodb_autoextend_increment=1000
innodb_buffer_pool_instances=8
innodb_concurrency_tickets=5000
innodb_old_blocks_time=1000
innodb_open_files=300
innodb_stats_on_metadata=0
innodb_file_per_table=1
innodb_checksum_algorithm=0
back_log=80
Spülzeit = 0
Verbindungspuffergröße = 128 M
max_allowed_package=1024M
max_connect_errors=2000
Open_files_limit=4161
#query_cache_type wurde in Version 8.0 entfernt, daher kommentieren Sie #query_cache_type=0
Sortierpuffergröße = 32 M
table_definition_cache=1400
binlog_row_event_max_size=8K
sync_master_info=10000
sync_relay_log=10000
sync_relay_log_info=10000
#Die Cache-Größe für Batch-Einfügedaten kann die Einfügeeffizienz effektiv verbessern. Der Standardwert beträgt 8 MB.
bulk_insert_buffer_size = 64 MB
interaktives_Timeout = 120
Wartezeitüberschreitung = 120
log-bin-trust-function-creators=1
sql_mode=KEIN_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#
# alle Dateien aus dem Konfigurationsverzeichnis einbinden
#
!includedir /etc/my.cnf.d

Speichern und beenden

12. MySQL starten

#/etc/init.d/mysqld start

Die neue Version des Installationspakets meldet einen Fehler. Der Fehlerinhalt lautet wie folgt:

MySQL.Logging wird in „/data/mysql/SZY.err“ gestartet.
2018-07-02T10:09:03.779928Z mysqld_safe Die Datei /usr/local/mysql/bin/mysqld
existiert nicht oder ist nicht ausführbar. Bitte wechseln Sie zur MySQL-Installation
Verzeichnis und starten Sie dieses Skript von dort aus wie folgt neu:
./bin/mysqld_safe&
Weitere Informationen finden Sie unter http://dev.mysql.com/doc/mysql/en/mysqld-safe.html.
FEHLER! Der Server wurde beendet, ohne die PID-Datei (/software/mysql/mysqld.pid) zu aktualisieren.

Denn die neue Version des MySQL Secure Boot-Installationspakets erkennt nur den Pfad /usr/local/mysql.

Lösung:

Methode 1: Erstellen Sie einen Softlink

Beispiel

#cd /usr/local/mysql
#ln -s /sofware/mysql/bin/myslqd mysqld

Methode 2: Ändern Sie die Datei mysqld_safe (dies wird von Studenten mit Zwangsstörungen empfohlen, und ich verwende es auch)

# vim /software/mysql/bin/mysqld_safe

Ändern Sie alles /usr/local/mysql in /software/mysql

Speichern und beenden. (Sie können diese Datei kopieren, ändern und dann ersetzen)

13. Melden Sie sich bei MySQL an

Ich kann mich hier nicht anmelden, ich bin blockiert, Fehler wie dieser:

FEHLER 1045 (28000): Zugriff für Benutzer „root“@„localhost“ verweigert (mit Kennwort: NEIN).

Siehe https://cloud.tencent.com/developer/article/1188636

Ändern Sie diesen Vorgang wie folgt:

1. Stoppen Sie die MySQL-Datenbank

/etc/init.d/mysqld stop

(Oder beenden Sie den Prozess einfach mit kill -9 [PID]!)

2. Führen Sie den folgenden Befehl aus

mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

3. Melden Sie sich als Root bei der MySQL-Datenbank an

mysql -u root mysql

4. Aktualisieren Sie das Root-Passwort

Für die neueste Version von MySQL verwenden Sie bitte das folgende SQL:

mysql> ALTER USER 'root'@'localhost' IDENTIFIZIERT MIT mysql_native_password DURCH 'newpassword';

5. Berechtigungen aktualisieren

mysql> FLUSH PRIVILEGES;

6. Beenden Sie MySQL

mysql> beenden

7. Starten Sie MySQL neu

/etc/init.d/mysqld restart

8. Melden Sie sich erneut mit dem Root-Benutzer bei MySQL an

mysql -uroot -p
 Passwort eingeben: <Geben Sie das neue Passwort newpassword ein>
---------------------------------------------------------------------------------------------------------------------------
#/software/mysql/bin/mysql -u root –p

14. Geben Sie ein temporäres Passwort ein. Das temporäre Passwort ist der Inhalt nach dem 8. root@localhost:

15. Ändern Sie das MySQL-Anmeldekennwort

>mysql setze Passwort=Passwort('root');
>mysql gewährt root@'%', identifiziert durch 'root', alle Privilegien für *.*;
>MySQL-Flush-Berechtigungen;

16. Abgeschlossen. Zu diesem Zeitpunkt lautet der MySQL-Anmeldename root und das Anmeldekennwort root

Zusammenfassen

Dies ist das Ende dieses Artikels über die detaillierten Schritte und Problemlösungsmethoden zur Installation von MySQL 8.0.19 unter Linux. Weitere Informationen zur Installation von MySQL 8.0.19 unter Linux 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:
  • Diagramm des Tutorials zur schnellen Installation und Konfiguration des Linux-Systems MySQL8.0.19
  • Tutorial-Diagramm zur Installation von mysql8.0.18 unter Linux (Centos7)
  • Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.18 (Linux)
  • mysql-5.7.28 Installations-Tutorial unter Linux
  • Detailliertes Tutorial zur Installation einer MySQL-Datenbank in einer Linux-Umgebung

<<:  Beispiel für die JavaScript-Funktion „CollectGarbage“

>>:  Zusammenfassung der Linux Logical Volume Management (LVM)-Nutzung

Artikel empfehlen

MySQL 5.7.18 Installations- und Konfigurations-Tutorial unter Windows

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

Grafisches Tutorial zur Installation der dekomprimierten Version von mysql5.7.14

MySQL ist in Community Edition (Community Server)...

Centos erstellt ein Prozessdiagramm für den Chrony-Zeitsynchronisationsserver

Meine Umgebung: 3 centos7.5 1804 Meister 192.168....

Tutorial zu HTML-Tabellen-Tags (21): Zeilenrahmen-Farbattribut BORDERCOLOR

Um die Tabelle zu verschönern, können Sie für die...

So verwenden Sie Webpack und Rollup zum Verpacken von Komponentenbibliotheken

Vorwort Ich habe zuvor eine Komponente im Ladesti...

JavaScript zum Erreichen einer festen Seitenleiste

Verwenden Sie Javascript, um eine feste Seitenlei...

Detaillierte Erläuterung des automatischen Füllschreibens von CSS3-Flexboxen

In diesem Artikel wird hauptsächlich die Methode ...

Zwei Methoden zur Implementierung der Mysql-Remoteverbindungskonfiguration

Zwei Methoden zur Implementierung der Mysql-Remot...

Das Problem der Verwendung von Slots durch Vue+tsx wird nicht behoben

Inhaltsverzeichnis Vorwort Finden Sie das Problem...