Heute werde ich aufzeichnen, wie man MySQL 8.0.18 auf einem CentOS 6.8-Server installiert. Kommen wir ohne weitere Umschweife gleich zur Sache. 1. Deinstallieren Sie MySQL, das mit CentOS 6.8 geliefert wird Deinstallieren Sie zunächst das integrierte MySQL auf dem CentOS 6.8-Server. Geben Sie den folgenden Befehl in die Befehlszeile ein, um das integrierte MySQL auf dem CentOS 6.8-Server anzuzeigen. [root@binghe151 src]# rpm -qa | grep -i mysql mysql-libs-5.1.73-7.el6.x86_64 Wie Sie sehen, ist mysql-libs-5.1.73-7.el6.x86_64 standardmäßig auf dem CentOS 6.8-Server installiert. Deinstallieren Sie anschließend mysql-libs-5.1.73-7.el6.x86_64 wie unten gezeigt. [root@binghe151 src]# rpm -e mysql-libs-5.1.73-7.el6.x86_64 --nodeps [root@binghe151 Quelle]# Überprüfen Sie das auf dem CentOS 6.8-Server installierte MySQL erneut, wie unten gezeigt. [root@binghe151 src]# rpm -qa | grep -i mysql [root@binghe151 Quelle]# Dies zeigt an, dass das auf dem CentOS 6.8-Server installierte MySQL erfolgreich deinstalliert wurde. 2. Installieren Sie die MySQL-Abhängigkeitsumgebung Bevor Sie MySQL offiziell installieren, müssen Sie zunächst die grundlegende Umgebung installieren, von der MySQL abhängt, wie unten gezeigt. yum -y installiere wget gcc-c++ ncurses ncurses-devel cmake make perl bison openssl openssl-devel gcc* libxml2 libxml2-devel curl-devel libjpeg* libpng* freetype* make gcc-c++ cmake bison-devel ncurses-devel bison perl perl-devel perl perl-devel net-tools* numactl* 3. MySQL-Benutzer hinzufügen Führen Sie den folgenden Befehl in der Befehlszeile aus, um einen MySQL-Benutzer hinzuzufügen. MySQL-Gruppenadd Benutzeradd -g mysql mysql 4. Laden Sie das MySQL RPM-Installationspaket herunter und installieren Sie es Führen Sie zunächst den folgenden Befehl in der Befehlszeile des CentOS 6.8-Servers aus, um das RPM-Installationspaket von MySQL 8.0.18 herunterzuladen. wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.18-1.el6.x86_64.rpm-bundle.tar Überprüfen Sie als Nächstes das heruntergeladene RPM-Installationspaket von MySQL 8.0.18, wie unten gezeigt [root@binghe151 src]# ll insgesamt 744876 -rw-r--r--. 1 root root 762746880 18. Nov. 14:32 mysql-8.0.18-1.el6.x86_64.rpm-bundle.tar Entpacken Sie anschließend das heruntergeladene Installationspaket wie unten gezeigt. [root@binghe151 src]# tar xvf mysql-8.0.18-1.el6.x86_64.rpm-bundle.tar mysql-community-client-8.0.18-1.el6.x86_64.rpm mysql-community-test-8.0.18-1.el6.x86_64.rpm mysql-community-server-8.0.18-1.el6.x86_64.rpm mysql-community-libs-compat-8.0.18-1.el6.x86_64.rpm mysql-community-common-8.0.18-1.el6.x86_64.rpm mysql-community-devel-8.0.18-1.el6.x86_64.rpm mysql-community-libs-8.0.18-1.el6.x86_64.rpm Installieren Sie sie anschließend der Reihe nach mysql-community-common-8.0.18-1.el6.x86_64.rpm mysql-community-libs-8.0.18-1.el6.x86_64.rpm mysql-community-client-8.0.18-1.el6.x86_64.rpm mysql-community-server-8.0.18-1.el6.x86_64.rpm Während der Installation müssen Sie die oben genannte Reihenfolge strikt einhalten. Installieren Sie zunächst [root@binghe151 src]# rpm -ivh mysql-community-common-8.0.18-1.el6.x86_64.rpm Warnung: mysql-community-common-8.0.18-1.el6.x86_64.rpm: Header V3 DSA/SHA1-Signatur, Schlüssel-ID 5072e1f5: NOKEY Vorbereitung... #################################################### [100%] 1:mysql-community-common ###################################################### [100%] Installieren Sie als Nächstes mysql-community-libs-8.0.18-1.el6.x86_64.rpm wie unten gezeigt. [root@binghe151 src]# rpm -ivh mysql-community-libs-8.0.18-1.el6.x86_64.rpm Warnung: mysql-community-libs-8.0.18-1.el6.x86_64.rpm: Header V3 DSA/SHA1-Signatur, Schlüssel-ID 5072e1f5: NOKEY Vorbereitung... #################################################### [100%] 1:mysql-community-libs ##################################################### [100%] Installieren Sie als Nächstes [root@binghe151 src]# rpm -ivh mysql-community-client-8.0.18-1.el6.x86_64.rpm Warnung: mysql-community-client-8.0.18-1.el6.x86_64.rpm: Header V3 DSA/SHA1-Signatur, Schlüssel-ID 5072e1f5: NOKEY Vorbereitung... #################################################### [100%] 1:mysql-community-client ###################################################### [100%] Installieren Sie abschließend mysql-community-server-8.0.18-1.el6.x86_64.rpm wie unten gezeigt. [root@binghe151 src]# rpm -ivh mysql-community-server-8.0.18-1.el6.x86_64.rpm Warnung: mysql-community-server-8.0.18-1.el6.x86_64.rpm: Header V3 DSA/SHA1-Signatur, Schlüssel-ID 5072e1f5: NOKEY Vorbereitung... #################################################### [100%] 1:mysql-community-server ##################################################### [100%] Wenn bei der Installation von mysql-community-server-8.0.18-1.el6.x86_64.rpm ein Fehler auftritt, wie unten gezeigt. [root@binghe151 src]# rpm -ivh mysql-community-server-8.0.18-1.el6.x86_64.rpm Warnung: mysql-community-server-8.0.18-1.el6.x86_64.rpm: Header V3 DSA/SHA1-Signatur, Schlüssel-ID 5072e1f5: NOKEY Fehler: Fehlgeschlagene Abhängigkeiten: libnuma.so.1()(64bit) wird von mysql-community-server-8.0.18-1.el6.x86_64 benötigt libnuma.so.1(libnuma_1.1)(64bit) wird von mysql-community-server-8.0.18-1.el6.x86_64 benötigt libnuma.so.1(libnuma_1.2)(64bit) wird von mysql-community-server-8.0.18-1.el6.x86_64 benötigt Wie Sie sehen, fehlt die Bibliothek libnuma. Führen Sie den folgenden Befehl aus, um libnuma zu installieren. Installieren Sie mysql-community-server-8.0.18-1.el6.x86_64.rpm nach der Ausführung des Befehls erneut. 5. MySQL-Daten initialisieren Lassen Sie uns zunächst über die offiziellen MySQL-Einschränkungen für die Ausführung von MySQL sprechen. Um Daten in MySQL 8.x zu initialisieren, müssen Sie sicherstellen, dass der Besitzer des Datenbankverzeichnisses und der Dateien das MySQL-Anmeldekonto ist. Wenn Sie den mysqld-Dienst als Root ausführen, müssen Sie dies bestätigen, indem Sie den folgenden Befehl mit der Option --user ausführen: Shell> bin/mysqld --initialize --user=mysql Shell> bin/mysqld --initialize-insecure --user=mysql Wenn Sie sich mit einem MySQL-Konto anmelden und das Programm ausführen, können Sie die Option --user aus dem Befehl entfernen, wie unten gezeigt. Shell> bin/mysqld --initialize Shell> bin/mysqld --initialize-insecure Aufgrund der oben genannten offiziellen MySQL-Einschränkungen für die Ausführung von MySQL können wir zu einem Schluss kommen. Wenn Sie als Root-Benutzer auf einem CentOS 6.8-Server angemeldet sind, können Sie den folgenden Befehl ausführen. mysqld --initialize --user=mysql mysqld --initialize-insecure --user=mysql Wenn Sie sich als MySQL-Benutzer beim CentOS 6.8-Server anmelden, können Sie den folgenden Befehl ausführen. mysqld --initialisieren mysqld --initialize-insecure Da ich mich mit dem Root-Konto beim CentOS 6.8-Server anmelde, führe ich beim Initialisieren der Datenbank den folgenden Befehl aus. mkdir -p /usr/local/mysql chown -R mysql.mysql /usr/local/mysql mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data Hinweis: Hier habe ich das MySQL-Installationsverzeichnis bei der Ausführung des Befehls mysqld --initialize angegeben. Während des MySQL-Installationsprozesses wird empfohlen, das MySQL-Installationsverzeichnis anzugeben. Wenn sich unter dem Verzeichnis /usr/local/mysql ein Datenverzeichnis befindet, schlägt die Initialisierung fehl. Sie müssen sicherstellen, dass sich unter /usr/local/mysql kein Datenverzeichnis befindet. 6. MySQL starten Geben Sie den folgenden Befehl in die Befehlszeile des CentOS 6.8-Servers ein, um den MySQL-Dienst zu starten. [root@binghe151 src]# Dienst mysqld starten Starten von mysqld: [ OK ] Wenn Sie MySQL starten, wird ein temporäres Anmeldekennwort für das MySQL-Root-Konto generiert. Dieses Kennwort kann in der Datei /var/log/mysqld.log angezeigt werden. Verwenden Sie den Vim-Editor, um die Datei /var/log/mysqld.log zu öffnen, wie unten gezeigt. vim /var/log/mysqld.log 2019-11-18T08:16:08.162464Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.0.18) Initialisierung des Servers läuft als Prozess 2111 2019-11-18T08:16:12.451542Z 5 [Hinweis] [MY-010454] [Server] Ein temporäres Passwort wird für root@localhost generiert: -8cagKkdK#5G 2019-11-18T08:17:13.269505Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.18) gestartet als Prozess 2378 2019-11-18T08:17:16.568836Z 0 [Warnung] [MY-010068] [Server] CA-Zertifikat ca.pem ist selbstsigniert. 2019-11-18T08:17:16.642494Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: bereit für Verbindungen. Version: „8.0.18“ Socket: „/var/lib/mysql/mysql.sock“ Port: 3306 MySQL Community Server – GPL. 2019-11-18T08:17:16.652000Z 7 [Warnung] [MY-013360] [Server] Plugin sha256_password hat gemeldet: ''sha256_password' ist veraltet und wird in einer zukünftigen Version entfernt. Bitte verwenden Sie stattdessen caching_sha2_password D' 2019-11-18T08:17:16.801986Z 0 [System] [MY-011323] [Server] X-Plugin bereit für Verbindungen. Socket: '/var/run/mysqld/mysqlx.sock' Bindeadresse: '::' Port: 33060 Suchen Sie die folgende Codezeile. 2019-11-18T08:16:12.451542Z 5 [Hinweis] [MY-010454] [Server] Ein temporäres Passwort wird für root@localhost generiert: -8cagKkdK#5G Sie können sehen, dass das beim Starten von MySQL generierte temporäre Anmeldekennwort -8cagKkdK#5G lautet. 7. Melden Sie sich bei MySQL an Melden Sie sich mit dem unten gezeigten temporären Passwort bei MySQL an. [root@binghe151 src]# mysql -uroot -p-8cagKkdK#5G 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 9 Serverversion: 8.0.18 Copyright (c) 2000, 2019, 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> An dieser Stelle erscheint beim Ausführen der SQL-Anweisung in der MySQL-Kommandozeile eine Fehlermeldung, die Sie auffordert, das Passwort wie unten dargestellt zurückzusetzen. mysql> DATENBANKEN ANZEIGEN; FEHLER 1820 (HY000): Sie müssen Ihr Kennwort mit der Anweisung ALTER USER zurücksetzen, bevor Sie diese Anweisung ausführen. mysql> mysql verwenden; FEHLER 1820 (HY000): Sie müssen Ihr Kennwort mit der Anweisung ALTER USER zurücksetzen, bevor Sie diese Anweisung ausführen. MySQL> Ändern Sie als Nächstes das Kennwort des MySQL-Root-Kontos wie unten gezeigt. mysql> ALTER USER 'root'@'localhost' IDENTIFIZIERT DURCH 'root'; Abfrage OK, 0 Zeilen betroffen (0,03 Sek.) mysql> FLUSH-PRIVILEGIEN; Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) Geben Sie als Nächstes den Exit-Befehl in die MySQL-Befehlszeile ein, um MySQL zu beenden. Melden Sie sich mit dem geänderten Root-Passwort wieder bei MySQL an, wie unten gezeigt. mysql> beenden Tschüss [root@binghe151 src]# mysql -uroot -proot 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 10 Serverversion: 8.0.18 MySQL Community Server – GPL Copyright (c) 2000, 2019, 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> Dies zeigt an, dass das Kennwort des MySQL-Root-Kontos erfolgreich geändert wurde. Führen Sie als Nächstes die SQL-Anweisung in der MySQL-Befehlszeile erneut aus, wie unten gezeigt. mysql> DATENBANKEN ANZEIGEN; +--------------------+ | Datenbank | +--------------------+ | Informationsschema | |mysql | | Leistungsschema | |System| +--------------------+ 4 Reihen im Satz (0,36 Sek.) mysql> VERWENDEN Sie mysql; Einlesen von Tabelleninformationen zur Vervollständigung von Tabellen- und Spaltennamen Sie können diese Funktion deaktivieren, um einen schnelleren Start mit -A zu erhalten Datenbank geändert MySQL> Es ist ersichtlich, dass nach dem Ändern des MySQL-Root-Kontokennworts SQL-Anweisungen in der MySQL-Befehlszeile korrekt ausgeführt werden können. 8. Installieren Sie das Standardverzeichnis von MySQL mit rpm 1. Datenbankverzeichnis 2. Konfigurationsdatei 3. Verwandte Befehle 4. Startskript 9. Konfigurieren Sie die Datei my.cnf MySQL 8.0 verfügt standardmäßig nicht über my.cnf. Sie können manuell eine my.cnf-Datei im Verzeichnis /etc erstellen und die Daten mit dem Befehl initialisieren, der das MySQL-Verzeichnis wie folgt angibt. mkdir -p /usr/local/mysql chown -R mysql.mysql /usr/local/mysql mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data Anschließend können Sie die Datei my.cnf wie unten gezeigt konfigurieren. [Kunde] Port = 3306 #Passen Sie die mysql.sock-Konfiguration entsprechend der tatsächlichen Situation an socket = /tmp/mysql.sock [mysqld] #Eindeutige ID des MySQL-Dienstes Jede MySQL-Dienst-ID muss eindeutig sein Server-ID = 1 #Die Standard-Service-Portnummer ist 3306 Port = 3306 #mysql-Installationsstammverzeichnis basedir = /usr/local/mysql #mysql-Datendateispeicherort datadir = /usr/local/mysql/data #pid pid-Datei = /usr/local/mysql/mysql.pid #Legen Sie das Verzeichnis fest, in dem sich die Socke-Datei befindet socket = /tmp/mysql.sock #Legen Sie das temporäre Verzeichnis tmpdir = /tmp fest # Benutzer Benutzer = mysql # Zugriff auf das IP-Netzwerksegment zulassen bind-address = 0.0.0.0 # Passwort-Login überspringen#skip-grant-tables #Wird hauptsächlich für die MyISAM-Speicher-Engine verwendet. Wenn mehrere Server mit einer Datenbank verbunden sind, wird empfohlen, den folgenden Inhalt zu kommentieren: skip-external-locking #Verwenden Sie zur Überprüfung der Clientanmeldung nur die IP-Adresse, nicht den Hostnamen skip_name_resolve = 1 #Transaktionsisolationsebene, die Standardeinstellung ist wiederholbares Lesen, die Standardeinstellung für wiederholbares Lesen in MySQL (auf dieser Ebene können viele Lückensperren in den Parametern vorhanden sein, die die Leistung beeinträchtigen) transaction_isolation = LESEN-COMMITTED #Der Standardzeichensatz der Datenbank, der Mainstream-Zeichensatz unterstützt einige spezielle Emoticons (spezielle Emoticons belegen 4 Bytes) Zeichensatzserver = utf8mb4 #Der Datenbankzeichensatz entspricht einigen Sortierregeln. Beachten Sie, dass er dem Zeichensatzserver-Sortierserver = utf8mb4_general_ci entsprechen sollte. #Legen Sie den Zeichensatz fest, wenn der Client eine Verbindung zu MySQL herstellt, um verstümmelte Zeichen zu vermeiden init_connect='SET NAMES utf8mb4' #Ob bei SQL-Anweisungen zwischen Groß- und Kleinschreibung unterschieden wird, 1 bedeutet, dass lower_case_table_names = 1 nicht unterschieden wird #Maximale Anzahl von Verbindungen max_connections = 400 #Maximale Anzahl von Verbindungsfehlern max_connect_errors = 1000 #TIMESTAMP Wenn NOT NULL nicht explizit deklariert ist, sind NULL-Werte zulässig explicit_defaults_for_timestamp = true #SQL-Datenpaketgröße. Wenn ein BLOB-Objekt vorhanden ist, wird empfohlen, es auf 1G zu ändern max_allowed_packet = 128M #MySQL-Verbindungen werden zwangsweise geschlossen, nachdem sie für eine bestimmte Zeit (in Sekunden) im Leerlauf waren. #Der Standardwert für das Wait_Timeout von MySQL beträgt 8 Stunden und der Parameter Interactive_Timeout muss gleichzeitig konfiguriert werden, damit er wirksam wird. Interactive_Timeout = 1800 Wartezeitüberschreitung = 1800 #Der Maximalwert der temporären Tabelle des internen Speichers ist auf 128 M eingestellt. #Eine temporäre Tabelle kann beispielsweise beim Gruppieren oder Ordnen großer Datenmengen verwendet werden. #Wenn der Wert diesen Wert überschreitet, wird die Tabelle auf die Festplatte geschrieben, was den IO-Druck des Systems erhöht. tmp_table_size = 134217728 maximale Heap-Tabellengröße = 134217728 #Deaktivieren Sie die Funktion zum Zwischenspeichern von Abfrageergebnissätzen von MySQL. #Entscheiden Sie später anhand von Tests der Geschäftssituation, ob Sie sie aktivieren möchten. #Deaktivieren Sie in den meisten Fällen die folgenden beiden Elemente. query_cache_size = 0 query_cache_type = 0 #Datenbankfehlerprotokolldatei log_error = error.log #Langsame Abfrage-SQL-Protokolleinstellung slow_query_log = 1 slow_query_log_file = langsam.log #Überprüfen Sie das SQL, das den Index nicht verwendet log_queries_not_using_indexes = 1 #Nachdem log_queries_not_using_indexes aktiviert wurde, werden die Häufigkeit von langsamem SQL und die Anzahl der Datensätze pro Minute aufgezeichnet log_throttle_queries_not_using_indexes = 5 #Wirksam bei Verwendung als Slave. Alle langsamen SQL-Anweisungen bei der Slave-Replikation werden ebenfalls aufgezeichnet. log_slow_slave_statements = 1 #Die Anzahl der Sekunden, die die langsame Abfrage ausgeführt wird. Dieser Wert muss erreicht werden, um aufgezeichnet zu werden long_query_time = 8 #Die Anzahl der abgerufenen Zeilen muss diesen Wert erreichen, um als langsame Abfrage markiert zu werden min_examined_row_limit = 100 #mysql binlog Protokolldatei Ablaufzeit, wird nach Ablauf automatisch gelöscht expire_logs_days = 5 Zusammenfassen Oben finden Sie das vom Herausgeber vorgestellte Tutorial zur Installation von MySQL8.0.18 auf CentOS6.8 (RPM-Methode). 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! Wenn Sie diesen Artikel hilfreich finden, können Sie ihn gerne abdrucken und dabei bitte die Quelle angeben. Vielen Dank! Das könnte Sie auch interessieren:
|
<<: Vue+js realisiert Video-Ein- und Ausblendeffekte
>>: So fahren Sie nginx herunter/starten es neu
Inhaltsverzeichnis Einige grundlegende Anweisunge...
Inhaltsverzeichnis 1 Konfigurations- und Datenver...
Inhaltsverzeichnis Anwendungsszenarien: Methode 1...
Ich habe heute einen neuen Trick gelernt. Ich kann...
Ergebnis:Implementierungscode: html <!-- Wenn ...
Docker-Installation 1. Anforderungen: Linux-Kerne...
Allerdings ist die Häufigkeit des Shell-Starts se...
Unabhängig davon, ob es sich um einen Samba-Diens...
Herkunft Zurzeit arbeite ich an Anforderung A, in...
Als Linux-Einsteiger habe ich schon oft einfache ...
Inhaltsverzeichnis Überblick CommonJS-Spezifikati...
Er gibt beispielsweise ein: XML/HTML Code div#Seit...
Der Vue-Teil ist wie folgt: <Vorlage> <K...
In diesem Artikel wird hauptsächlich die einfache...
Sehen Sie zuerst den Effekt Implementierungscode ...