Heim >Datenbank >MySQL-Tutorial >Linux verwendet mysqld_multi, um mehrere MySQL-Instanzen auf einer einzelnen Maschine zu starten
In der Vergangenheit wurde bei der Verwendung von MySQL meist nur ein MySQL-Schema oder mehrere Schemata verwendet, aber im Allgemeinen befanden sie sich in derselben Datenbankinstanz, d. h gleichen Port.
Beim Zwei-Wege-Hot-Backup von MySQL mit zwei Maschinen muss das MySQL-Schema auf Maschine A (vorläufig als A bezeichnet) als Masterknoten im Hot-Backup (MySQL-Replikation) verwendet werden, und das Backup-MySQL-Schema (vorläufig als A bezeichnet). B) existiert in einer anderen Maschine B. Dann muss beim Zwei-Wege-Hot-Backup auch B als Master und A als Slave konfiguriert werden. Kurz gesagt: Hot-Backup ist zweimal konfiguriert, jetzt ist das Hot-Backup von Maschine A abgeschlossen , und B ist an der Reihe. Wir haben erwähnt, dass es auch ein MySQL-Schema (C) auf Maschine B gibt, das ebenfalls als Master konfiguriert werden muss, und das Backup-Schema auf Maschine A platziert ist, aber hier kommt das Problem: Das Backup-MySQL-Schema (B) hat gerade wurde bei der Konfiguration von Hot-Standby-Portnummer und Master mit MySQL konfiguriert
Wenn C zu diesem Zeitpunkt als Master konfiguriert ist, wird die vorherige Konfiguration von B als Master überschrieben. Wenn die Backup-Datenbank (D) von C als Master auf Maschine A konfiguriert ist, wird A als Master konfiguriert. Operation abgedeckt.
In diesem Prozess wird also die Konfiguration des bidirektionalen Hot-Standby der Schemata A und B auf dem Standardport 3306 auf den beiden Computern abgeschlossen. Wenn Sie den bidirektionalen Hot-Standby der Schemata C und D konfigurieren, müssen Sie dies tun Konfigurieren Sie den bidirektionalen Hot-Standby der Schemata C und D auf den beiden Computern. Wird in verschiedenen MySQL-Instanzen (unterschiedliche Portnummern) durchgeführt. Im Folgenden wird erläutert, wie mehrere MySQL-Instanzen gestartet werden.
[mysqld_multi] mysqld = /opt/mysql/server-5.6/bin/mysqld_safe #根据自己的mysql目录配置 mysqladmin = /opt/mysql/server-5.6/bin/mysqladmin [mysqld1] port = 3307 socket = /tmp/mysql.sock1 pid-file = /opt/mysql/server-5.6/data3307/cloud3.pid3 basedir=/opt/mysql/server-5.6 datadir=/opt/mysql/server-5.6/data3307 log-bin=mysql1-9003-bin user=cloud1 [mysqld2] port = 3308 socket = /tmp/mysql.sock2 pid-file = /opt/mysql/server-5.6/data3308/cloud3.pid2 basedir=/opt/mysql/server-5.6 datadir=/opt/mysql/server-5.6/data3308 log-bin=mysql2-9003-bin user=cloud1
cd /opt/mysql/server-5.6/;./scripts/mysql_install_db --datadir=/opt/mysql/server-5.6/data3307 --user=cloud1 cd /opt/mysql/server-5.6/;./scripts/mysql_install_db --datadir=/opt/mysql/server-5.6/data3308 --user=cloud1
Wenn die Initialisierung erfolgreich ist, wird „OK“ angezeigt. Andernfalls prüfen Sie, ob das Datenbankverzeichnis über Berechtigungen verfügt.
Verwenden Sie die folgenden Parameter, um mysqld_multi zu starten: (Hinweis: Dieser Befehl befindet sich im Bin-Verzeichnis von MySQL).
mysqld_multi [options] [GNR[,GNR]...]
Start, Stopp und Bericht beziehen sich auf die Vorgänge, die Sie ausführen möchten. Sie können einen Vorgang für einen einzelnen Dienst oder für mehrere Dienste angeben, im Unterschied zur GNR-Liste, die den Optionen folgt. Wenn keine GNR-Liste angegeben ist, arbeitet mysqld_multi in allen Diensten gemäß der Optionsdatei.
Der Wert jedes GNR ist die Sequenznummer der Gruppe oder der Sequenznummernbereich einer Gruppe. Der Wert dieses Elements muss die letzte Nummer des Gruppennamens sein. Wenn der Gruppenname beispielsweise mysqld17 ist, ist der Wert dieses Elements 17. Wenn Sie einen Bereich angeben, verwenden Sie „-“ (Bindestrich), um die beiden Zahlen zu verbinden. Wenn der Wert von GNR 10-13 beträgt, bezieht er sich auf die Gruppen mysqld10 bis 13.
mysqld_multi --defaults-file=/opt/mysql/server-5.6/my.cnf start 1-2 或者 mysqld_multi --defaults-file=/opt/mysql/server-5.6/my.cnf start 1 mysqld_multi --defaults-file=/opt/mysql/server-5.6/my.cnf start 2
mysqladmin -u root -p -P 3307 -S /tmp/mysql.sock1 password //刚开始默认没有密码,如果要输入密码,直接回车 mysql -u root -p -P 3307 -S /tmp/mysql.sock1
Das obige ist der detaillierte Inhalt vonLinux verwendet mysqld_multi, um mehrere MySQL-Instanzen auf einer einzelnen Maschine zu starten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!