Grafisches Tutorial zur Kompilierung des MySQL 5.7.13-Quellcodes sowie zur Installations- und Konfigurationsmethode

Grafisches Tutorial zur Kompilierung des MySQL 5.7.13-Quellcodes sowie zur Installations- und Konfigurationsmethode

Installationsumgebung: CentOS7 64-Bit-Mini-Version

Offizielles Dokument zur Kompilierung und Installation des Quellcodes: http://dev.mysql.com/doc/refman/5.7/en/source-installation.html

1. Voraussetzungen für die Systeminstallation

Offizielle Dokumentation: http://dev.mysql.com/doc/refman/5.7/en/source-installation.html

1>cmake

MySQL verwendet das plattformübergreifende Tool cmake zum Vorkompilieren von Quellcode, mit dem die Kompilierungsparameter von MySQL festgelegt werden. Wie zum Beispiel: Installationsverzeichnis, Datenspeicherverzeichnis, Zeichenkodierung, Sortierregeln usw. Installieren Sie einfach die neuste Version.

2> make3.75

Der MySQL-Quellcode ist in C und C++ geschrieben. Verwenden Sie make, um den Quellcode unter Linux zu kompilieren und zu erstellen. Sie müssen make 3.75 oder höher installieren.

3> gcc4.4.6

GCC ist ein C-Sprachcompiler unter Linux. Die Kompilierung des MySQL-Quellcodes ist vollständig in C und C++ geschrieben. Es ist erforderlich, GCC4.4.6 oder höher zu installieren.

4> Boost1.59.0

Der MySQL-Quellcode verwendet die C++ Boost-Bibliothek, für die Sie Boost 1.59.0 oder höher installieren müssen.

5> bison2.1

C/C++-Parser für Linux

6> Flüche

Bibliothek zur Zeichenterminalverarbeitung

Daher müssen Sie vor der Installation die relevanten abhängigen Bibliotheken installieren:

Shell> sudo yum install -y cmake, make, gcc, gcc-c++, bison, ncurses, ncurses-devel


Laden Sie den Quellcode von Boost 1.59.0 herunter und entpacken Sie ihn in das Verzeichnis /usr/local/:

Shell> wget -O https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
Shell> tar -zxvf boost_1_59_0.tar.gz -C /usr/local/


2. Laden Sie den MySQL-Quellcode herunter

Laden Sie den MySQL-Quellcode von GitHub herunter

Shell> cd /opt
Shell > Git-Klon https://github.com/mysql/mysql-server.git
Shell> ls MySQL-Server

Wenn der Git-Client nicht installiert ist, führen Sie „yum install -y git“ aus, um ihn zu installieren.

Shell> Git-Zweig -r
Herkunft/5.5
Herkunft/5.6
Herkunft/5.7
Herkunft/HEAD -> Herkunft/5.7
Herkunft/Cluster-7.2
Herkunft/Cluster-7.3
Herkunft/Cluster-7.4
Herkunft/Cluster-7.5


Der aktuelle Zweig ist standardmäßig auf Version 5.7 eingestellt. Wenn Sie andere Versionen installieren möchten, wechseln Sie einfach zum entsprechenden Zweig. Wenn Sie beispielsweise Version 5.6 installieren möchten: git checkout 5.6. Hier nehmen wir die Installation der Version 5.7 als Beispiel.

Sohu Mirror-Downloadadresse:
http://mirrors.sohu.com/mysql/MySQL-5.5/
http://mirrors.sohu.com/mysql/MySQL-5.6/
http://mirrors.sohu.com/mysql/MySQL-5.7/

3. Installation

1> MySQL-Benutzer hinzufügen

Shell> cd /opt/mysql-server
shell> groupadd mysql #MySQL-Benutzergruppe hinzufügen shell> useradd -r -g mysql -s /bin/false mysql #MySQL-Benutzer hinzufügen

2> Konfigurieren Sie die MySQL-Vorkompilierungsparameter

shell> cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=/usr/local/boost_1_59_0 \
-DSYSCONFDIR=/usw \
-DEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DENABLED_LOCAL_INFILE=1 \
-DEXTRA_CHARSETS=alle

-DCMAKE_INSTALL_PREFIX: Installationspfad
-DMYSQL_DATADIR: Datenspeicherverzeichnis
-DWITH_BOOST: Boost-Quellcodepfad
-DSYSCONFDIR: my.cnf-Konfigurationsdateiverzeichnis
-DEFAULT_CHARSET: Standardzeichenkodierung der Datenbank
-DDEFAULT_COLLATION: Standardsortierregel
-DENABLED_LOCAL_INFILE: Erlaubt das Importieren von Daten aus dieser Datei
-DEXTRA_CHARSETS: Alle Zeichensätze installieren

Weitere vorkompilierte Konfigurationsparameter finden Sie in der offiziellen MySQL-Dokumentation: http://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html#cmake-general-options

3> Kompilieren und installieren

Shell> make -j `grep Prozessor /proc/cpuinfo | wc -l`
Shell> make install

Der Parameter -j gibt die Anzahl der Threads während der Kompilierung basierend auf der Anzahl der CPU-Kerne an, wodurch die Kompilierung beschleunigt werden kann. Die Standardeinstellung ist 1 Thread-Kompilierung. Nach dem Testen dauert die Kompilierung auf einer Single-Core-CPU und 1 GB Speicher fast 1 Stunde.

4> Initialisieren Sie die Systemdatenbank

Shell> cd /usr/local/mysql
Shell> chown -R mysql:mysql.
# Hinweis: Führen Sie für Versionen vor MySQL 5.7.6 dieses Skript aus, um die Systemdatenbank-Shell zu initialisieren> ./bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
# Initialisierungsskript der Systemdatenbank für Versionen nach 5.7.6 (dieser Artikel verwendet diese Methode zur Initialisierung)
Shell> ./bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
Shell> ./bin/mysql_ssl_rsa_setup
Shell> chown -R root.
Shell> chown -R MySQL-Daten

Hinweis: Wenn Sie den Parameter --initialize zum Initialisieren der Systemdatenbank verwenden, wird ein temporäres Kennwort für den Root-Benutzer in der Datei ~/.mysql_secret generiert und im Initialisierungsprotokoll ausgedruckt, wie im roten Kreis in der folgenden Abbildung dargestellt:


5. Konfigurationsdatei und Parameteroptimierung

Shell> cp support-files/my-default.cnf /etc/my.cnf
Shell> vim /etc/my.cnf

[Kunde]
Port = 3306
socket=/usr/local/mysql/mysql.sock
[mysqld]
Zeichensatzserver = utf8
Sortierserver = utf8_general_ci

externe Verriegelung überspringen
Namensauflösung überspringen

Benutzer=mysql
Port = 3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
tmpdir=/usr/local/mysql/temp
# server_id = .....
socket=/usr/local/mysql/mysql.sock
log-error=/usr/local/mysql/logs/mysql_error.log
pid-Datei=/usr/local/mysql/mysql.pid
Open_files_limit=10240
back_log=600
max_verbindungen=500
max_connect_errors=6000
Wartezeitüberschreitung = 605800
#offene_Tabellen=600
#table_cache = 650
#geöffnete_Tabellen = 630

max_allowed_package=32M
sort_buffer_size=4M
join_buffer_size=4M
Thread-Cache-Größe = 300
query_cache_type=1
query_cache_size=256M
query_cache_limit=2M
query_cache_min_res_unit=16k

tmp_table_size=256M
maximale Heap-Tabellengröße = 256 M

Schlüsselpuffergröße = 256 M
Lesepuffergröße = 1 M
read_rnd_buffer_size=16M
bulk_insert_buffer_size=64M

Kleinbuchstabentabellennamen = 1

Standard-Speicher-Engine = INNODB

innodb_buffer_pool_size=2G
innodb_log_buffer_size=32M
innodb_log_file_size=128M
innodb_flush_method=O_DIRECT
#####################
Thread_Parallelität = 32
lange_Abfragezeit=2
langsames Abfrageprotokoll = ein
slow-query-log-file=/usr/local/mysql/logs/mysql-slow.log

[mysqldump]
schnell
max_allowed_package=32M

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-Datei=/var/run/mysqld/mysqld.pid

6. MySQL-Dienst konfigurieren

Shell> cp support-files/mysql.server /etc/init.d/mysqld
shell> chkconfig --add mysqld # Zu den Systemdiensten hinzufügen shell> chkconfig mysqld on # Beim Booten starten

7. Starten Sie den Dienst

shell> service mysqld start # MySQL-Dienst starten shell> service mysqld stop # MySQL-Dienst stoppen shell> service mysqld restart # MySQL-Dienst neu starten

8. Legen Sie das Datenbankkennwort fest

shell> /usr/local/mysql/bin/mysql -e "gewähre root@'127.0.0.1', identifiziert durch "root", mit der Option "grant" alle Privilegien auf *.*;"
shell> /usr/local/mysql/bin/mysql -e "gewähre root@'localhost', identifiziert durch "root", mit der Option "grant" alle Privilegien auf *.*;"
# Remote-Login aktivieren (Host auf %)
/usr/local/mysql/bin/mysql -e „gewähre root@'%', identifiziert durch „root“, mit der Gewährungsoption alle Berechtigungen für *.*;“


9. Konfigurieren Sie MySQL-Umgebungsvariablen

Shell> vim /etc/Profil
Shell> export PATH=/usr/local/mysql/bin:$PATH
Shell> Quelle /etc/Profil


4. Andere Angelegenheiten, die Aufmerksamkeit erfordern

Wenn die Kompilierung auf halbem Weg fehlschlägt, müssen Sie die Cache-Datei der von cmake vor der Kompilierung generierten Konfigurationsparameter und die nach der Make-Kompilierung generierte Datei löschen und anschließend erneut kompilieren.

Shell> cd /opt/mysql-server
shell> rm -f CMakeCache.txt
Schale> sauber machen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Das umfassendste grafische Tutorial zur Installation und Konfiguration von MySQL 5.7.13 (Linux) wird wärmstens empfohlen!
  • Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7 und höher (mysql 5.7.12\mysql 5.7.13\mysql 5.7.14)
  • MySQL 5.7.13 Installations-Tutorial in einer Linux-Umgebung
  • Tutorial zum Erstellen einer MySQL5.7.13-Umgebung (entpackte Version)
  • Installations- und Konfigurationshinweise zu MySQL 5.7.13 (Mac OS)
  • Installations- und Konfigurationstutorial zur dekomprimierten Version von MySQL 5.7.13 (kostenlose Installation)
  • Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.13 (Linux)
  • Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.13 (Win10)
  • mysql5.7.13.zip Installations-Tutorial (Windows)
  • Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.13 winx64

<<:  Beispiel für die Verwendung von Dockerfile zum Erstellen eines Nginx-Images

>>:  jQuery realisiert den Shuttle-Box-Effekt

Artikel empfehlen

Lösen Sie das MySQL-Login-1045-Problem unter CentOS

Da die gesamte Anwendung unter CentOS bereitgeste...

Eine kurze Diskussion über bedingte Kodierung und Seitenlayout der VUE-Uni-App

Inhaltsverzeichnis Bedingte Kompilierung Seitenla...

Detaillierte Erläuterung des Speichermodells der JVM-Serie

Inhaltsverzeichnis 1. Speichermodell und Laufzeit...

Webdesign-Tutorial (3): Designschritte und Denkweise

<br />Vorheriges Tutorial: Webdesign-Tutoria...

Praxis der Bereitstellung von in Python geschriebenen Webanwendungen mit Docker

Inhaltsverzeichnis 1. Docker installieren 2. Code...

Teilen Sie 20 JavaScript-Einzeilencodes

Inhaltsverzeichnis 1. Holen Sie sich den Wert des...

MySQL 8.0-Installationstutorial unter Linux

Dieser Artikel beschreibt Ihnen, wie Sie MySQL 8....

Tiefes Verständnis des Mechanismus des CSS-Hintergrund-Blend-Modus

Dieser Artikel darf gerne geteilt und zusammengef...

Lösung für das Routing-Hervorhebungsproblem von Vue-Komponenten

Vorwort Früher habe ich den Cache verwendet, um d...

So führen Sie eine Spring Boot-Anwendung in Docker aus

In den letzten Tagen habe ich gelernt, wie man Sp...

CentOS 7.6 Installation der MySQL 5.7 GA-Version Tutorial-Diagramm

Inhaltsverzeichnis Umgebungsvorbereitung Umgebung...