Heim >Datenbank >MySQL-Tutorial >Linux verwendet mysqld_multi, um mehrere MySQL-Instanzen auf einer einzelnen Maschine zu starten

Linux verwendet mysqld_multi, um mehrere MySQL-Instanzen auf einer einzelnen Maschine zu starten

黄舟
黄舟Original
2017-03-10 11:13:231025Durchsuche

1. Hintergrundbeschreibung

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.

2. Implementierungsschritte

(1) Standardmäßig wurde MySQL installiert und die Grundkonfiguration implementiert.

(2) Konfigurieren Sie my.cnf (schreiben Sie nur die Konfiguration, die sich auf diesen Artikel bezieht)

[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

(3) Initialisieren Sie das Datenbankverzeichnis (entsprechend dem Verzeichnis, auf das in der Konfiguration verwiesen wird)

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.

(4) Starten Sie die Instanz

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

(5) Passwort ändern und anmelden

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn