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:
|
<<: Einfache Implementierungsmethode der Vue3-Quellcodeanalyse
>>: Alibaba Cloud beantragt ein kostenloses SSL-Zertifikat (https) von Cloud Shield
Während der Installation von Ubuntu 18 trat das P...
Inhaltsverzeichnis Übergeben von Parametern zwisc...
Der detaillierte Prozess der Installation von Pyt...
Dieser Artikel beschreibt die Support- und Proble...
Ursachen und Folgen 1. Wenn Sie den Ansible-Befeh...
Die Elemente in einem HTML-Dokument werden hinter...
Inhaltsverzeichnis Thema analysieren Gebrauchsgeg...
Der Code sieht folgendermaßen aus: SELECT @i:=@i+...
Durchscheinender Rand Ergebnis: Implementierungsc...
Vorwort Das dreispaltige Layout ist, wie der Name...
1. Der erste Parameter props der setUp-Funktion s...
Inhaltsverzeichnis 1. Bild oben 2. Benutzer exist...
In diesem Artikel wird der spezifische Code von R...
Rezension der vorherigen Folge: Gestern haben wir...
Warum prettier verwenden? In großen Unternehmen k...