Vorwort Jeder sollte erkannt haben, dass mit der Entwicklung der Hardware Multi-Core-Linux-Systeme zum allgemeinen Trend geworden sind und MySQL ein Single-Process-Multithread-System ist, sodass die inhärente Multi-Process-Auslastung nicht sehr hoch ist. Obwohl Version 5.6 in dieser Hinsicht viele Verbesserungen gebracht hat, sind noch nicht 100 % erreicht. Um die Systemressourcen voll auszunutzen, verfügt MySQL daher über eine eigene Ergänzung, nämlich die Bereitstellung mehrerer Instanzen, eine Instanz pro Port. mysqld_multi ist für die Verwaltung mehrerer mysqld-Prozesse konzipiert, die auf derselben Maschine ausgeführt werden, wobei jeder Prozess unterschiedliche Socket-Dateien verwendet und auf unterschiedlichen Ports lauscht. mysqld_multi kann diese mysqld-Prozesse stapelweise starten, herunterfahren oder ihren Status melden. Schauen wir uns ohne weitere Umschweife die ausführliche Einführung an. 1. MySQL-Kompilierung und -Installation:cd /usr/local/src wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz tar zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql cd /usr/local/mysql Benutzeradd MySQL mkdir -p /data/mysql chown -R mysql:mysql /data/mysql ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql cp support-files/my-default.cnf /etc/my.cnf cp support-files/mysql.server /etc/init.d/mysqld 2. Bereiten Sie die erste Multi-Instanz 3307 vor2.1 Erstellen Sie ein Verzeichnis: mkdir /usr/local/mysql3307 chown -R mysql.mysql /usr/local/mysql3307/ mkdir -p /data/mysql3307 chown -R mysql.mysql /data/mysql3307 mkdir -p /home/data/mysql3307/binlog chown -R mysql.mysql /home/data/mysql3307 2.2 Konfigurationsdatei [root@zhdya01 ~]# vim /etc/my.cnf # Hinweise zum Ändern der Einstellungen finden Sie unter # http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html # *** BEARBEITEN SIE DIESE DATEI NICHT. Es handelt sich um eine Vorlage, die in das # *** Standardspeicherort während der Installation und wird ersetzt, wenn Sie # *** Upgrade auf eine neuere Version von MySQL. [mysqld_multi] mysqld = /usr/local/mysql/bin/mysqld_safe mysqladmin = /usr/local/mysql/bin/mysqladmin log = /var/log/mysqld_multi.log [mysqld1] Socket = /usr/local/mysql3307/mysql.sock Port = 3307 pid-Datei = /usr/local/mysql3307/mysql.pid Datenverzeichnis = /data/mysql3307 log_bin=/home/data/mysql3307/binlog Server-ID = 1 innodb_buffer_pool_size = 128 M innodb_flush_log_at_trx_commit = 0 2.3 Initialisieren der Datenbank /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql3307 3. Bereiten Sie die zweite Multi-Instanz 3308 vor3.1 Verzeichnis erstellen: mkdir /usr/local/mysql3308 chown -R mysql.mysql /usr/local/mysql3308/ mkdir -p /data/mysql3308 chown -R mysql.mysql /data/mysql3308 mkdir -p /home/data/mysql3308/binlog chown -R mysql.mysql /home/data/mysql3308 3.2 Konfigurationsdatei [root@zhdya01 ~]# vim /etc/my.cnf # Hinweise zum Ändern der Einstellungen finden Sie unter # http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html # *** BEARBEITEN SIE DIESE DATEI NICHT. Es handelt sich um eine Vorlage, die in das # *** Standardspeicherort während der Installation und wird ersetzt, wenn Sie # *** Upgrade auf eine neuere Version von MySQL. [mysqld_multi] mysqld = /usr/local/mysql/bin/mysqld_safe mysqladmin = /usr/local/mysql/bin/mysqladmin log = /var/log/mysqld_multi.log [mysqld1] Socket = /usr/local/mysql3307/mysql.sock Port = 3307 pid-Datei = /usr/local/mysql3307/mysql.pid Datenverzeichnis = /data/mysql3307 log_bin=/home/data/mysql3307/binlog Server-ID = 1 innodb_buffer_pool_size = 128 M innodb_flush_log_at_trx_commit = 0 [mysqld2] Socket = /usr/local/mysql3308/mysql.sock Port = 3308 pid-Datei = /usr/local/mysql3308/mysql.pid Datenverzeichnis = /data/mysql3308 log_bin=/home/data/mysql3308/binlog Server-ID = 2 innodb_buffer_pool_size = 128 M innodb_flush_log_at_trx_commit = 0 3.3 Initialisieren der Datenbank /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql3308 4. Mehrere Instanzen starten/etc/init.d/mysqld starten mysqld_multi --defaults-extra-file=/etc/my.cnf start 1,2 [root@zhdya01 bin]# !net netstat -lntp -lntp Aktive Internetverbindungen (nur Server) Proto Recv-Q Send-Q Lokale Adresse Fremde Adresse Status PID/Programmname tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1241/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2087/Master tcp6 0 0 :::3306 :::* LISTEN 4406/mysqld tcp6 0 0 :::3307 :::* LISTEN 4197/mysqld tcp6 0 0 :::3308 :::* LISTEN 3359/mysqld tcp6 0 0 :::8080 :::* LISTEN 2222/java tcp6 0 0 :::22 :::* LISTEN 1241/sshd tcp6 0 0 ::1:25 :::* LISTEN 2087/Master 5. Überprüfen Sie den Startstatus[root@zhdya01 bin]# mysqld_multi --defaults-extra-file=/etc/my.cnf Bericht Melden von MySQL-Servern MySQL-Server aus der Gruppe: mysqld1 läuft MySQL-Server aus der Gruppe: mysqld2 läuft 6. Stoppen Sie mehrere Instanzen[root@zhdya01 bin]# mysqld_multi --defaults-extra-file=/etc/my.cnf stop 1,2 [root@zhdya01 bin]# mysqld_multi --defaults-extra-file=/etc/my.cnf Bericht Melden von MySQL-Servern MySQL-Server aus der Gruppe: mysqld1 läuft nicht MySQL-Server aus der Gruppe: mysqld2 läuft nicht 7. Melden Sie sich separat bei der MySQL-Instanz an[root@zhdya01 bin]# mysql --socket=/usr/local/mysql3307/mysql.sock Willkommen beim MySQL-Monitor. Befehle enden mit ; oder \g. Ihre MySQL-Verbindungs-ID ist 1 Serverversion: 5.6.35-log MySQL Community Server (GPL) Copyright (c) 2000, 2016, 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> Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Das könnte Sie auch interessieren:
|
>>: So implementieren Sie eine Array-Lazy-Evaluation-Bibliothek in JavaScript
Einführung MySQL sollte eine sehr häufig verwende...
Wir haben bereits darüber gesprochen, wie man ein...
In diesem Artikelbeispiel wird der spezifische Co...
Der <base>-Tag gibt die Standardadresse oder...
Inhaltsverzeichnis 1. Einfach zu bedienen 2. Verw...
CSS3 erreicht coole 3D-Rotationsperspektive 3D-An...
Inhaltsverzeichnis Hintergrund Wie funktioniert d...
Diese Situation tritt normalerweise auf, weil das...
Welche Rolle spielt http im Knoten? Die Aufgabe d...
Beim Entwurf von Tabellenstrukturen gehören numer...
Vor einiger Zeit musste ich für die Entwicklung h...
<br />Test zu Webdesign und -produktion, Tei...
Beim Schreiben dynamischer Formulare bin ich zuvo...
Der Zweck des Schreibens von Skripten besteht dar...
Ich nenne diese Art von Fehler einen typischen „H...