Anwendungsszenario für die MySQL-Konfiguration mehrerer Instanzen

Anwendungsszenario für die MySQL-Konfiguration mehrerer Instanzen

Mehrere MySQL-Instanzen

Übersicht über mehrere Instanzen

Was ist Multi-Instance?

Auf einem Server werden mehrere Datenbankdienste ausgeführt. Diese Dienstprozesse stellen ihre eigenen Dienste bereit, indem sie über verschiedene Sockets auf verschiedene Dienstports warten.

Warum mehrere Instanzen konfigurieren?

  • Sparen Sie Betriebs- und Wartungskosten
  • Verbessern Sie die Hardwareauslastung

Anwendungsszenarien mehrerer Instanzen

  • Unternehmen mit knappen Mitteln;
  • Gleichzeitiger Zugriff ist kein besonders großes Geschäft;

Konfigurieren mehrerer Instanzen

1. Installieren Sie die Software

Spezifische Operationen:

Entpacken Sie die Software, ändern Sie den Verzeichnisnamen und ändern Sie den PATH-Pfad

Wenn Sie auf einem Computer mit einem vorhandenen Datenbankdienst mehrere Instanzen ausführen, prüfen Sie zunächst, ob die Version des Datenbankdienstes mehrere Instanzen unterstützt. Wenn nicht, müssen Sie den Dienst beenden und eine Datenbankversion installieren, die mehrere Instanzen unterstützt.

Installieren Sie als Nächstes die Software, die Multi-Instance-Dienste bereitstellt

Die unten gezeigte Version ist MySQL 5.7.36, die binär installiert wird. Weitere Installationsmethoden finden Sie unter MySQL-Installationsmethoden.

groupadd -r -g 306 mysql 
Benutzeradd -g 306 -r -u 306 mysql
tar -zxvf mysql-5.7.36-linux-glibc2.12-x86-64.tar.gz 
mv /root/mysql-5.7.36-linux-glibc2.12-x86_64 /usr/local/mysql

2. Konfigurationsdatei

Hauptkonfigurationsdatei /etc/my.cnf

  • Jede Instanz muss unabhängig sein von: Datenbankverzeichnis, Port
  • Socket-Datei, PID-Datei, Fehlerprotokolldatei
vim /etc/meine.cnf
[MySQLD_MULTI] #Start multiple InstancesMysqld =/usr/local/mysql/bin/mysqld_safe #Specify Die Prozessdatei Pathmysqladmin =/usr/Local/MySQL/bin/mysqladmin #Specify #-Specify #-Stwify #Specify. [MySQLD3306] #InStance-Prozessname, 3306, ist der Service Numbersocket = /tmp/mysql.sock1 #Spezify und Name des Socken-FilePorts = 3306 #Specify Die PortPid-Datei = /data/3306/mysqld.pid #procify-Datei-Datei PID-Nummerndatei mit der Datei für die Datei #dataTaSto-Datei mit der Datei für die Datei, die die Datei #dataTaSta-Datei mit der Datei für die Datei kreiert, durchortetatadir =//3306 #dataTaSto. ELOG-ERROR = /DATA/3306/mysqld.log #Error-Protokollort [MySQLD3307]
Socket = /tmp/mysql.sock2
Port = 3307
pid-Datei = /data/3307/mysqld.pid
Datenverzeichnis = /data/3307
Log-Fehler = /data/3307/mysqld.log

mkdir -p /data/330{6..7}
chown -R mysql:mysql /data/330{6,7}

Socket-Datei: Wenn Sie auf Ihren eigenen Datenbankdienst zugreifen, übergeben Sie Parameter über die Socket-Datei

3. Starten Sie den Dienst

Verwalten mehrerer Instanzen

  • Starten des Dienstes

mysqld_multi Startinstanznummer#Starten Sie den Dienst

  • Dienst beenden

mysqld_multi --user=root --password=passwordstop Instanznummer

/usr/local/mysql/bin/mysqld_multi start 3306 #Erster Start der Initialisierung #Sie können diesen Befehl auch zum Initialisieren verwenden /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/3307
#Nach der Initialisierung mit diesem Befehl müssen Sie noch den Dienst /usr/local/mysql/bin/mysqld_multi start 3307 starten
Die Eingabe des absoluten Pfads ist zu umständlich, Sie können ihn in die Umgebungsvariable vim /etc/ schreiben.
export PATH=$PATH:/usr/local/mysql/bin/

Quelle /etc/profile.d/mysql.sh
#Dann können Sie den Kurzbefehl mysqld_multi start 3307 schreiben 

Bildbeschreibung hier einfügen

4. Servicestatus prüfen

ss -nultp | grep 3306
ss -nultp | grep 3307 

Bildbeschreibung hier einfügen

5. Verwenden Sie das anfängliche Passwort, um sich mit dem Dienst zu verbinden

Client-Zugriff

Lokale Verbindung

Verbinden Sie sich mit dem anfänglichen Passwort

Ändern des lokalen Anmeldekennworts

#mysql -uroot -p'initial password' -S sock file#mysql>alter user root@"localhost" identifiziert durch "neues Passwort";
#Verbindung zur ersten Datenbankinstanz herstellen test /usr/local/mysql/bin/mysql -uroot -p'' -S /tmp/mysql.sock1
Datenbanken anzeigen;
Ändern Sie den Benutzer root@"localhost", identifiziert durch "123456";
Datenbanken anzeigen;
Ausfahrt
#Stellen Sie eine Verbindung zur zweiten Datenbankinstanz her, um mysql -uroot -p'' -S /tmp/mysql.sock2 zu testen
Datenbanken anzeigen;
Ändern Sie den Benutzer root@"localhost", identifiziert durch "123456";
Datenbanken anzeigen;
Ausfahrt 

Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen

Melden Sie sich erneut mit dem neuen Passwort an

Bildbeschreibung hier einfügen

6. Stoppen Sie mehrere Instanzen

mysqld_multi --user=root --password=123456 Stopp 3306
#mysqld_multi --user=root --password=123456 stop Wenn Sie die Instanznummer nicht angeben, wird die Instanz mit dem Datenbankbenutzer root und dem Passwort 123456 gestoppt ss -nultp | grep 3306 

Bildbeschreibung hier einfügen

Dies ist das Ende dieses Artikels über die Konfiguration und Anwendungsszenarien von MySQL-Multiinstanzen. Weitere relevante MySQL-Multiinstanzinhalte finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • MySQL-Installation mehrerer Instanzen - Boot- und Autostart-Dienstkonfigurationsprozess
  • MySQL Multi-Instance-Bereitstellungs- und Installationshandbuch unter Linux
  • MySQL Series II-Konfiguration für mehrere Instanzen
  • Einführung in die MySQL-Datenbank: Detaillierte Erläuterung der Konfigurationsmethode für mehrere Instanzen
  • MySQL-Lösung für die Konfiguration mehrerer Instanzen

<<:  Keep-Alive-Multilevel-Routing-Cache-Problem in Vue

>>:  Beispielcode zur Implementierung eines einfachen ListViews-Effekts in HTML

Artikel empfehlen

Zusammenfassung des in JS implementierten Minesweeping-Projekts

Dieser Artikel enthält die Zusammenfassung des JS...

Kodierungsprobleme und -lösungen, wenn MySQL zwei Tabellen verknüpft

Wenn Mysql zwei Tabellen verknüpft, wird eine Feh...

Fallstudie zu JavaScript Anti-Shake

Prinzip Das Prinzip von Anti-Shake ist: Du kannst...

Grundlegende Anwendungsbeispiele für Listener in Vue

Inhaltsverzeichnis Vorwort 1. Grundlegende Verwen...

Detaillierte Erläuterung gängiger Vorgänge für Docker-Images und -Container

Bildbeschleuniger Manchmal ist es schwierig, Bild...

Formel und Berechnungsmethode zur Schätzung der Server-Parallelität

Vor Kurzem musste ich den Server erneut einem Str...

Verbesserungen am Webserver zur Verbesserung der Website-Leistung

<br />Im ersten Abschnitt dieser Reihe haben...

Centos7.3 So installieren und implementieren Sie Nginx und konfigurieren https

Installationsumgebung 1. gcc-Installation Um ngin...