1. Voraussetzungen Da ich es schon mehrmals installiert habe, werde ich den Fehler nicht mehr beschreiben. Es ist etwas verwirrend! ! ! Lösen Sie entsprechende Abhängigkeiten und Fehler vorab direkt vor Ort. 1. Erforderliches Quellcodepaket mysql-8.0.19.tar.gz boost_1_70_0.tar.gz //Installieren Sie die für mysql-8 erforderliche Boost-Version rpcsvc-proto-1.4.tar.gz //Das für den späteren Fehler erforderliche Quellcodepaket mysql-8.0.19 Download-Adresse: http://mirrors.sohu.com/mysql/ Downloadadresse für boost_1_70_0: https://dl.bintray.com/boostorg/release/1.70.0/source/ Downloadadresse für rpcsvc-proto-1.4: https://github.com/thkukuk/rpcsvc-proto/releases/download/v1.4/ 2. Abhängigkeiten lösen [14:41:21 root@wangzhike ~]#yum install -y cmake ncurses-devel 3. Speicherort Speicherort des Software-Quellcodepakets: /usr/local/src 2. Kompilieren und installieren Sie mysql-8.0.19 1. Quellcodepaket hochladen boost_1_70_0.tar.gz mysql-8.0.19.tar.gz rpcsvc-proto-1.4.tar.gz 2. Lösen Sie rpcsvc-proto-1.4 1) Dekompression [17:05:14 root@wangzhike software]#tar -zxf rpcsvc-proto-1.4.tar.gz -C /usr/local/src/ 2) Installation in einem Schritt [17:09:48 root@wangzhike rpcsvc-proto-1.4]#./konfigurieren && make && make install 3. Lösen Sie boost_1_70_0 [17:13:48 root@wangzhike~]# mkdir -p /usr/local/boost [17:14:05 root@wangzhike~]# cd /usr/local/src [17:15:02 root@wangzhike src]#cp /software/boost_1_70_0.tar.gz /usr/local/boost/ [17:26:22 root@wangzhike boost]#tar xf boost_1_70_0.tar.gz ////Nur in das Speicherverzeichnis /usr/local/src/ hochladen und in das aktuelle Boost-Verzeichnis entpacken 4. Erstellen Sie MySQL-Benutzer und -Gruppe [17:27:46 root@wangzhike ~]#groupadd mysql [17:28:10 root@wangzhike ~]#useradd -g mysql mysql -s /bin/false ####Erstellen Sie den Benutzer mysql und fügen Sie ihn der mysql-Gruppe hinzu. Erlauben Sie mysql-Benutzern nicht, sich direkt beim System anzumelden [17:28:11 root@wangzhike ~]#mkdir -p /data/mysql ####Erstellen Sie das MySQL-Datenbankspeicherverzeichnis[17:29:13 root@wangzhike ~]#chown -R mysql:mysql /data/mysql ####Legen Sie die Berechtigungen für das Verzeichnis fest, in dem die MySQL-Datenbank gespeichert ist[17:29:31 root@wangzhike ~]#mkdir -p /usr/local/mysql ####MySQL-Installationsverzeichnis erstellen 5. Installieren Sie mysql-8.0.19 1) Dekompression [17:43:24 root@wangzhike software]#tar -zxf mysql-8.0.19.tar.gz -C /usr/local/src/ [17:43:47 root@wangzhike software]#cd /usr/local/src/ [17:43:53 root@wangzhike src]#cd mysql-8.0.19/ 2) Installation [17:47:01 root@wangzhike mysql-8.0.19]#cmake . \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DINSTALL_DATADIR=/Daten/mysql -DMYSQL_USER=mysql \ -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_EMBEDDED_SERVER=1 \ -DFORCE_INSOURCE_BUILD=1 \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DENABLED_LOCAL_INFILE=1 \ -DEXTRA_CHARSETS=alle \ -DWITH_BOOST=/usr/lokal/boost Wenn Folgendes eintritt, liegt kein Problem vor
Wenn der folgende Fehler bezüglich rpc.h auftritt Lösung: [17:45:47 root@wangzhike mysql-8.0.19]#finden / -name rpc.h /usr/local/src/mysql-8.0.19/extra/libevent/include/event2/rpc.h /usr/local/src/mysql-8.0.19/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/windeps/sunrpc/rpc/rpc.h
wie folgt
3) Erstellen und installieren
Warte, warte, warte Wenn der folgende Fehler gemeldet wird, bedeutet dies, dass nicht genügend Speicher vorhanden ist und eine Partition erstellt werden muss. +: Schwerwiegender Fehler: Abgebrochenes Signal beendete das Programm cc1plus Kompilierung abgebrochen. make[2]: *** [sql/CMakeFiles/sql_gis.dir/build.make:154: sql/CMakeFiles/sql_gis.dir/gis/distance_functor.cc.o] Fehler 1 make[2]: *** Warte auf unerledigte Jobs.... make[1]: *** [CMakeFiles/Makefile2:11144: sql/CMakeFiles/sql_gis.dir/all] Fehler 2 make: *** [Makefile:163: all] Fehler 2 Erstellen Sie eine Partition: [19:58:37 root@wangzhike mysql-8.0.19]#dd wenn=/dev/zero von=/swapfile bs=1k Anzahl=2048000 2048000+0 Datensätze in 2048000+0 Datensätze aus 2097152000 Bytes (2,1 GB, 2,0 GiB) kopiert, 6,07651 s, 345 MB/s ####Holen Sie sich den hinzuzufügenden 2G-SWAP-Dateiblock [20:10:02 root@wangzhike mysql-8.0.19]#mkswap /swapfile mkswap: /swapfile: unsichere Berechtigungen 0644, 0600 empfohlen. Einrichten von Swapspace Version 1, Größe = 2 GiB (2097147904 Bytes) kein Label, UUID=18a4bbb3-75d1-411b-ac0c-c87c63547509 ####SWAP-Datei erstellen[20:10:07 root@wangzhike mysql-8.0.19]#swapon /swapfile swapon: /swapfile: unsichere Berechtigungen 0644, 0600 empfohlen. ####SWAP-Datei aktivieren[20:10:12 root@wangzhike mysql-8.0.19]#swapon -s Dateiname Typ Größe Verwendet Priorität /dev/sda2 Partition 2144252 137300 -2 /swapfile Datei 2047996 0 -3 #####Überprüfen Sie, ob die SWAP-Informationen korrekt sind[20:10:19 root@wangzhike mysql-8.0.19]#echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab ####Zur fstab-Datei hinzufügen, um automatisch beim Systemstart zu starten Wenn Sie make -j 3 && make install erneut ausführen, wird der folgende Bildschirm angezeigt und es wird kein Fehler gemeldet ```Schläge -- Installieren: /usr/local/mysql/man/man1/comp_err.1 -- Installieren: /usr/local/mysql/man/man1/ibd2sdi.1 -- Installieren: /usr/local/mysql/man/man1/innochecksum.1 -- Installieren: /usr/local/mysql/man/man1/lz4_decompress.1 -- Installieren: /usr/local/mysql/man/man1/my_print_defaults.1 -- Installieren: /usr/local/mysql/man/man1/myisam_ftdump.1 -- Installieren: /usr/local/mysql/man/man1/myisamchk.1 -- Installieren: /usr/local/mysql/man/man1/myisamlog.1 -- Installieren: /usr/local/mysql/man/man1/myisampack.1 -- Installieren: /usr/local/mysql/man/man1/mysql.1 -- Installieren: /usr/local/mysql/man/man1/mysql.server.1 -- Installieren: /usr/local/mysql/man/man1/mysql_config.1 -- Installieren: /usr/local/mysql/man/man1/mysql_config_editor.1 -- Installieren: /usr/local/mysql/man/man1/mysql_secure_installation.1 -- Installieren: /usr/local/mysql/man/man1/mysql_ssl_rsa_setup.1 -- Installieren: /usr/local/mysql/man/man1/mysql_tzinfo_to_sql.1 -- Installieren: /usr/local/mysql/man/man1/mysql_upgrade.1 -- Installieren: /usr/local/mysql/man/man1/mysqladmin.1 -- Installieren: /usr/local/mysql/man/man1/mysqlbinlog.1 -- Installieren: /usr/local/mysql/man/man1/mysqlcheck.1 -- Installieren: /usr/local/mysql/man/man1/mysqld_multi.1 -- Installieren: /usr/local/mysql/man/man1/mysqld_safe.1 -- Installieren: /usr/local/mysql/man/man1/mysqldump.1 -- Installieren: /usr/local/mysql/man/man1/mysqldumpslow.1 -- Installieren: /usr/local/mysql/man/man1/mysqlimport.1 -- Installieren: /usr/local/mysql/man/man1/mysqlman.1 -- Installieren: /usr/local/mysql/man/man1/mysqlpump.1 -- Installieren: /usr/local/mysql/man/man1/mysqlshow.1 -- Installieren: /usr/local/mysql/man/man1/mysqlslap.1 -- Installieren: /usr/local/mysql/man/man1/perror.1 -- Installieren: /usr/local/mysql/man/man1/zlib_decompress.1 -- Installieren: /usr/local/mysql/man/man8/mysqld.8 -- Installieren: /usr/local/mysql/man/man1/mysqlrouter.1 -- Installieren: /usr/local/mysql/man/man1/mysqlrouter_passwd.1 -- Installieren: /usr/local/mysql/man/man1/mysqlrouter_plugin_info.1 3. MySQL-Datenbank initialisieren 1. Ändern Sie die MySQL-Verzeichnisberechtigungen [20:37:59 root@wangzhike mysql-8.0.19]#chown -R mysql:mysql /usr/local/mysql [20:42:07 root@wangzhike mysql-8.0.19]#chmod -R 755 /usr/local/mysql 2. MySQL initialisieren [20:45:07 root@wangzhike ~]#cd /usr/local/mysql/ [20:46:43 root@wangzhike mysql]#./bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --character-set-server=utf8 2020-04-14T12:47:13.718724Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.19) Initialisierung des Servers läuft als Prozess 9893 2020-04-14T12:47:13.719367Z 0 [Warnung] [MY-013242] [Server] --character-set-server: „utf8“ ist derzeit ein Alias für den Zeichensatz UTF8MB3, wird aber in einer zukünftigen Version ein Alias für UTF8MB4 sein. Bitte erwägen Sie die Verwendung von UTF8MB4, um Eindeutigkeit zu gewährleisten. 2020-04-14T12:47:14.855541Z 5 [Hinweis] [MY-010454] [Server] Ein temporäres Passwort wird für root@localhost generiert: rUG-.8kdw<1f ####MySQL-Systemdatenbank generieren. 3. Ändern Sie die Konfigurationsdatei [20:49:41 root@wangzhike mysql]#vi /usr/local/mysql/my.cnf Fügen Sie den folgenden Inhalt hinzu: [Kunde] Port = 3306 socket=/tmp/mysql.sock [mysqld] Port = 3306 Benutzer = MySQL socket=/tmp/mysql.sock tmpdir = /tmp Schlüsselpuffergröße = 16 M max_allowed_package=128M default_authentication_plugin=mysql_native_password Open_files_limit = 60000 explizite_Vorgaben_für_Zeitstempel Server-ID = 1 Zeichensatzserver = utf8 föderiert max_Verbindungen = 1000 max_connect_errors = 100000 interaktives_Timeout = 86400 Wartezeitüberschreitung = 86400 sync_binlog=0 back_log=100 Standard-Speicher-Engine = InnoDB log_slave_updates = 1 [mysqldump] schnell [Kunde] Passwort="123456" [mysqld-8.0] sql_mode=TRADITIONAL [mysqladmin] Gewalt [mysqld] Schlüsselpuffergröße = 16 M Dienst MySQL Neustart :wq! Speichern und beenden. Beachten Sie, dass service mysqld restart geschrieben werden muss. Das Standardkennwort lautet 123456. Andere Operationen [20:53:05 root@wangzhike mysql]#ln -s /usr/local/mysql/my.cnf /etc/my.cnf #Fügen Sie einen Softlink zum Verzeichnis /etc hinzu [20:53:12 root@wangzhike mysql]#cd [20:53:13 root@wangzhike ~]#cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld #Mysql zum Systemstart hinzufügen [20:53:21 root@wangzhike ~]#chmod 755 /etc/init.d/mysqld #Ausführungsberechtigungen hinzufügen[20:53:28 root@wangzhike ~]#chkconfig mysqld on #Zum Booten hinzufügen 4. Dateien bearbeiten [20:53:39 root@wangzhike ~]#vi /etc/rc.d/init.d/mysqld ####Suchen Sie basedir= und ändern Sie es in /usr/local/mysql ####Suchen Sie datadir= und ändern Sie es in /data/mysql basedir=/usr/local/mysql #Installationspfad des MySQL-Programms datadir=/data/mysql #Speicherverzeichnis der MySQl-Datenbank 5. Erfolgreich starten [20:54:32 root@wangzhike ~]#service mysqld start MySQL.Logging wird in „/data/mysql/wangzhike.err“ gestartet. . ERFOLG! #Startup erfolgreich 6. Variablen hinzufügen [20:54:44 root@wangzhike ~]#vi /etc/profile Fügen Sie export PATH=$PATH:/usr/local/mysql/bin zur letzten Zeile hinzu [20:55:37 root@wangzhike ~]#source /etc/profile #Die Konfiguration wird sofort wirksam 7. Softlink hinzufügen [20:55:44 root@wangzhike ~]#ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql [20:55:57 root@wangzhike ~]#ln -s /usr/local/mysql/include/mysql /usr/include/mysql ####Das Obige dient zum Verknüpfen der MySQL-Bibliotheksdatei mit dem Standardspeicherort des Systems [20:56:02 root@wangzhike ~]#mkdir /var/lib/mysql [20:56:14 root@wangzhike ~]#ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock 8. Starten Sie MySQL [21:40:14 root@wangzhike ~]#mysql -uroot -p123456 Willkommen beim MySQL-Monitor. Befehle enden mit ; oder \g. Ihre MySQL-Verbindungs-ID ist 9 Serverversion: 8.0.19 Quellverteilung 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> Dies zeigt an, dass die Anmeldung erfolgreich war. Zusammenfassen Dies ist das Ende dieses Artikels über die Bereitstellung einer LNMP-Umgebung in CentOS8 zum Kompilieren und Installieren von mysql-8.0.29. Weitere verwandte Informationen zur Bereitstellung einer LNMP-Umgebung in CentOS8 zum Kompilieren und Installieren von mysql-8.0.29 finden Sie in den vorherigen Artikeln von 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:
|
Die Datenbank ist wie das Betriebssystem eine gem...
Stellen Sie die Breite des Textkörpers auf die Bre...
1. Paradigma Der englische Name des Paradigmas la...
Inhaltsverzeichnis Vorwort Endlosschleife in For-...
In diesem Artikelbeispiel wird der spezifische Ja...
Beim Styling unserer Webseiten haben wir die Wahl...
Inhaltsverzeichnis Überblick 1. Pfadmodul 2. Bis ...
Ich habe mein Blog seit mehreren Tagen nicht aktu...
Ursprüngliche Adresse: https://blog.csdn.net/m0_4...
1. Inline-Elemente nehmen nur die Breite des Inhal...
Dataframe ist eine neue API, die in Spark 1.3.0 e...
Überblick Der grundlegende Unterschied zwischen a...
Überblick Das Rahmendiagramm dieses Artikels ist ...
Dieser Artikel beschreibt anhand eines Beispiels,...
In MySQL können Sie mehrere Indizes für eine Tabe...