Detailliertes Tutorial zum Einrichten mehrerer Instanzen von MySQL 8 auf CentOS 7 (Sie können so viele haben, wie Sie möchten)

Detailliertes Tutorial zum Einrichten mehrerer Instanzen von MySQL 8 auf CentOS 7 (Sie können so viele haben, wie Sie möchten)

Ursache

Ich habe vor Kurzem mit der Umstrukturierung des Projekts begonnen und muss möglicherweise Master-Slave sowie Lese-/Schreibtrennung verwenden. Deshalb wollte ich lokal einen solchen Rechner erstellen, um den Effekt auszuprobieren. Eine Suche bei Baidu ergab viele Ergebnisse, aber nur wenige davon habe ich selbst ausprobiert. Die meisten davon haben den Inhalt anderer kopiert. Das Problem ist, dass in tatsächlichen Anwendungen Fehler auftreten. Der Browser öffnete fast 20 Tabs und ich probierte mehrere davon aus, aber alle hatten Probleme. Ich konnte sie überhaupt nicht verwenden. Das war nicht nur Zeitverschwendung, sondern frustrierte mich auch, also habe ich es selbst gemacht.

1. Vorbereitung

1. Überprüfen und bereinigen Sie zuerst die MySQL-bezogenen Dateien im System

# Überprüfen Sie, ob die Mysql-Datei im System vorhanden ist find / -name mysql
 ​
 # Löschen Sie die Dateien oder Ordner, die in mysql rm -rf /usr/lib64/mysql/ vorhanden sind.
 ​
 # Überprüfen Sie, ob eine MySQL-bezogene Abhängigkeit vorliegt rpm -qa|grep mysql
 ​
 # Deinstallieren Sie die MySQL-Abhängigkeit rpm -e mysql-.....

2. Laden Sie die entsprechende Version der MySQL-Installationsdatei herunter

Da ich CentOS 7 64-Bit verwende, wählen Sie das Betriebssystem wie unten auf der offiziellen MySQL-Website gezeigt aus und wählen Sie dann das Tar-Paket zum Herunterladen aus.

Lassen Sie mich hier erklären, warum ich zur Installation das Tarball verwende, anstatt die übliche Online-Methode mit einer normalen Installation und der anderen Installation mit RPM. Denn wenn die erste normal mit Yum und die zweite lokal installiert wird, kann der Installationspfad nicht angegeben werden und die beiden MySQLs können nicht für eine systematische Verwaltung zusammengeführt werden. Daher verwende ich hier das Tarball, um mehrere Instanzen zu installieren und sie zur einfachen Verwaltung und Konfiguration in dasselbe Verzeichnis zu legen.

# Erstellen Sie vor dem Herunterladen einen MySQL-Benutzer. Warum einen MySQL-Benutzer erstellen?
Da die entpackte MySQL-Datei keine Gruppe hat und um zu vermeiden, dass MySQL während der Konfiguration und des Starts bestimmte Dateien nicht lesen kann, wird empfohlen, den MySQL-Benutzer zum Ausführen von MySQL zu verwenden.
 MySQL-Benutzer hinzufügen
 # Passwort festlegen passwd mysql # Anschließend das Passwort zweimal eingeben​
 # Benutzer wechseln su mysql
 ​
 # Laden Sie das MySQL-Tarball wget herunter: https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-el7-x86_64.tar.gz
 ​
 # Entpacken Sie die Datei und benennen Sie den Ordner in mysql_01
 tar xf mysql-8.0.20-el7-x86_64.tar.gz ./mysql_01
 ​
 # Kopieren Sie mysql_01 und benennen Sie es in mysql_02
 cp -r ./mysql_01 ./mysql_02/
 ​
 # Wechseln Sie zum Root-Benutzer, ändern Sie die beiden MySQL-Arrays in den MySQL-Benutzer und wechseln Sie dann zurück zum MySQL-Benutzer-Exit
 chown -R mysql:mysql /home/mysql/mysql_01/ /home/mysql/mysql_02/
 so MySQL

2. Ändern Sie die Konfiguration

Der nächste Schritt ist die Konfiguration von MySQL. Die Konfigurationen der beiden MySQLs sind eigentlich ähnlich, außer dass die Pfade unterschiedlich sind. Hier werde ich nur die Konfiguration von mysql_01 zeigen. Für mysql_02 ersetzen Sie einfach den entsprechenden Pfad durch Ihren eigenen Pfad.

1. my.cnf anpassen

# Wechseln Sie zum Pfad mysql_01 cd ./mysql_01
 ​
 # Erstellen Sie eine Konfigurationsdatei my.cnf, bearbeiten Sie sie direkt mit vim und speichern Sie sie. Unter diesen steht ### für ein erforderliches Element und # für ein optionales Element.vim my.cnf
 ----------Nachfolgend der Dateiinhalt-------------
 [mysqld]  
 ### Portnummer Port=10085  
   
 ### Installationsverzeichnis basedir=/home/mysql/mysql_01/ 
   
 ### Datenspeicherpfad datadir=/home/mysql/mysql_01/data/ 
   
 ###Sitzungsdateiverzeichnis socket=/home/mysql/mysql_01/mysql.sock
   
 # Die maximal zulässige Anzahl von Verbindungsfehlern max_connect_errors=10  
   
 # Die Zeichensatzkodierung des Servers character-set-server=utf8 
   
 #Standard-Speicher-Engine default-storage-engine=INNODB 
   
 #Standardbenutzer user=mysql  
   
 # Langsame Abfrage aktivieren slow_query_log=on  
   
 # Verzeichnis der Protokolldateien langsamer Abfragen slow_query_log_file=/home/mysql/mysql_01/slow-query.log [Client]    
 ### Die für die Verbindung mit dem Server verwendete Portnummer ist Port=10085 ​ ### Sitzungsdatei-Socket=/home/mysql/mysql_01/mysql.sock     
 #Standardzeichensatzkodierung default-character-set=utf8 ---------------Ende des Dateiinhalts-------------------- ​
 # In der obigen Konfiguration können Sie sehen, dass sich im Datadir-Element ein Datenordner befindet, aber in mysql_01 kein Datenordner.
Daher müssen Sie einen Datenordner mkdir data erstellen

2. Ändern Sie die Standardkonfiguration

Als nächstes müssen Sie die Standardkonfigurationsinformationen von MySQL ändern

# Ändern Sie die Standardkonfigurationsinformationen in der Datei vim ./support-files/mysql.server
 # Ändern Sie alle Konfigurationen in Bezug auf basedir und datadir in der Datei auf den aktuellen Pfad

Wie unten gezeigt

Und ändern Sie den Pfad der in die Datei geladenen MySQL-Konfigurationsdatei in die gerade erstellte Datei my.cnf, wie in der folgenden Abbildung gezeigt. Speichern und beenden Sie die Änderung, nachdem Sie sie abgeschlossen haben.

Sie müssen auch eine andere Datei unter Support-Dateien ändern

# Ändern Sie die Datei mysqld_multi.server im Ordner „support-files“ vim ./support-files/mysqld_multi.server
 ​
 #Ändern Sie weiterhin die beiden Eigenschaften von basedir und datadir, wie in der folgenden Abbildung gezeigt

3. Erstinstallation und Dienststart

1. Erstinstallation

# Wechseln Sie in das Stammverzeichnis von mysql_01 cd /home/mysql/mysql_01/
 ​
 # Installation initialisieren --defaults-file gibt die Initialisierungskonfigurationsdatei an --console druckt die Initialisierungsinformationen auf der Konsole./bin/mysqld --defaults-file=/home/mysql/mysql_01/my.cnf --initialize
 --console --user=mysql
 ​
 # Nach erfolgreicher Initialisierung wird das Initialisierungskennwort in der Konsole ausgedruckt. Das allgemeine Format lautet wie folgt: root@localhost: fa356fgss,

2. Starten Sie den Dienst

# Starten Sie den MySQL-Dienst des aktuellen mysql_01 im Hintergrund. Sie müssen noch die Konfigurationsdatei angeben, da wir in der Konfigurationsdatei einen Socket-Parameter festlegen.
Nur wenn es gemäß dieser Konfigurationsdatei gestartet wird, wird es gemäß dem vom Socket konfigurierten Pfad generiert, andernfalls wird es automatisch in /tmp/mysql.sock generiert.
Wenn mysql_02 auch auf diese Weise generiert wird, führt dies zu einer Überlagerung, die dazu führt, dass während der Verbindung nur ein Dienst verbunden wird oder sogar ein Fehler auftritt.
 ./bin/mysqld_safe --defaults-file=./my.cnf &
 ​
 # Verwenden Sie den Befehl, um zu überprüfen, ob der MySQL-Dienst gestartet ist, wie unten gezeigt: netstat -nultp|grep 10085

4. Mit der Datenbank verbinden und Passwort ändern

# Aus dem Obigen können Sie ersehen, dass der MySQL-Dienst gestartet wurde, sodass Sie eine Verbindung zu MySQL herstellen können./bin/mysql --socket=./mysql.sock -uroot -p # Geben Sie das Anfangskennwort ein​
 # Ändern Sie das MySQL-Anmeldekennwort. Hier ändere ich es in root. Beachten Sie das Semikolon am Ende. alter user root@localhost identified by "root";

Starten Sie nach derselben Konfiguration mysql_02. Der Effekt ist wie folgt

Oben sehen Sie die Konfiguration von MySQL_01. Dasselbe gilt für MySQL_02. Sie müssen lediglich das entsprechende Verzeichnis in Ihren eigenen Dateipfad ändern. Nach der Installation mehrerer Instanzen können Sie zugehörige Konfigurationen wie Master-Slave-Replikation und Lese-/Schreibtrennung durchführen.

Zusammenfassen

Dies ist das Ende dieses Artikels zum Einrichten mehrerer Instanzen von MySQL 8 unter CentOS 7 (Sie können so viele einrichten, wie Sie möchten). Weitere Informationen zum Einrichten mehrerer Instanzen von MySQL 8 unter CentOS 7 finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Installieren mehrerer MySQL-Instanzen unter Linux als Datensicherungsserver, um eine Sicherung mehrerer Instanzen von einem Master auf einen Slave zu erreichen
  • MySQL-Lösung für die Konfiguration mehrerer Instanzen
  • MySQL-Tutorial zum Bereitstellen mehrerer Instanzen auf einer einzigen Maschine mit mysqld_multi
  • Bereitstellen der binären MySQL 5.7.17-Installation und der Multi-Instance-Konfiguration auf CentOS 6.5
  • Schnelle Implementierung der MySQL-Bereitstellung und der Bereitstellung mehrerer Instanzen auf einem Computer
  • Detaillierte Analyse basierend auf der MySQL-Multiinstanzinstallation
  • MySQL Multi-Instance-Bereitstellungs- und Installationshandbuch unter Linux

<<:  Einfache Implementierungsmethode der Vue3-Quellcodeanalyse

>>:  Alibaba Cloud beantragt ein kostenloses SSL-Zertifikat (https) von Cloud Shield

Artikel empfehlen

Reagiert auf verschiedene Arten, Parameter zu übergeben

Inhaltsverzeichnis Übergeben von Parametern zwisc...

Python 3.7-Installationstutorial für MacBook

Der detaillierte Prozess der Installation von Pyt...

Erläuterung des HTML-Tabellenlayouts als Beispiel

Die Elemente in einem HTML-Dokument werden hinter...

MySQL-Sortierung zum Abrufen eines Ranking-Beispielcodes

Der Code sieht folgendermaßen aus: SELECT @i:=@i+...

CSS3 erzielt verschiedene Randeffekte

Durchscheinender Rand Ergebnis: Implementierungsc...

React realisiert sekundäre Verknüpfung (linke und rechte Verknüpfung)

In diesem Artikel wird der spezifische Code von R...

Responsive Webdesign lernen (2) — Können Videos responsiv gemacht werden?

Rezension der vorherigen Folge: Gestern haben wir...

Detailliertes Tutorial zur Verwendung des Prettier Code-Plugins in vscode

Warum prettier verwenden? In großen Unternehmen k...