MySQL-Einzelmaschine, mehrere Instanzen teilen
Das Erreichen mehrerer Instanzen auf einer einzelnen Maschine kann mit Docker problemlos erreicht werden. Hier teilen wir hauptsächlich den Prozess der Verwendung des integrierten Tools mysqld_multi und zwei Fallstricke.
1. MySQL installieren
System: Ubuntu 16.04LTS (xenial)
Version: Percorna Server 5.7.21-20
Installation: Offizielles Website-Tutorial
2 . mysqld_multi-Konfigurationsdatei
Erstellen Sie eine neue Datei /etc/mysql/multi_server.cnf
[mysqld_multi]
# Wenn der MySQL-Dienst nicht über mysqld_safe gestartet wird, sollte dies kommentiert werden out
#mysqld = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
user = multi_admin
password = 123456
[mysqld1]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var /lib/mysql
tmpdir = /tmp
[mysqld2]
user = mysql
pid-file=/var/run/mysqld/mysql.pid2
socket=/var/run/ mysqld/mysqld.sock2
port = 3307
basedir = /usr
datadir = /var/lib/mysql2
3. Starten Sie den Dienst
Anzeigen der ausgeführten Instanz
mysqld_multi -- defaults-file=/etc/mysql/multi_server.cnf report
Dienst starten
mysqld_multi --defaults-file=/etc/mysql/multi_server.cnf start
Aufgrund der allgemeinen Situation haben wir das erste bereits installiert und der Root-Benutzer hat es auch eingerichtet, sodass es unwahrscheinlich ist, dass es Probleme verursacht.
Mögliche Probleme mit mysql2:
SCHWERWIEGENDER FEHLER : Es wurde versucht, mysqld unter der Gruppe [mysqld2] zu starten, aber es wurde kein Datenverzeichnis gefunden oder konnte erstellt werden. Datenverzeichnis verwendet: /var/lib/mysql2
MySQL5.7 Die Befehlszeile zum Hinzufügen einer neuen Instanz lautet wie folgt
mysqld --datadir= /var/lib/mysql2 --initialize --initialize-insecure...
Offizieller Website-Link
Sehen Sie sich die Datei /usr/bin/ an. mysqld_multi-Skriptzeile 343
print "\n\nInstalling new database in $datadir\n\n"; $install_cmd="/usr/bin/mysqld "; $install_cmd.="--initialize "; $install_cmd.="--user=mysql "; $install_cmd.="--datadir=$datadir";
咋Auf den ersten Blick scheint es kein Problem zu geben. Verwenden Sie tatsächlich die Befehlszeile, um
which mysqld 得到的结果 /usr/sbin/mysqld
auszuführen. Nachdem Sie dieses Skript geändert haben, Es kann normal gestartet werden.
Wenn es immer noch nicht funktioniert, sollten Sie die Benutzerberechtigungsprobleme berücksichtigen.
Wenn Sie Ubuntu verwenden, möchten Sie möglicherweise auch überprüfen, ob Apparmor Berechtigungsbeschränkungen hat.
Wenn die MySQL2-Instanz auf diese Weise gestartet wird, erstellt sie zufällig ein zufälliges Kennwort für den Root-Benutzer, was dazu führt, dass sich nachfolgende Clients nicht bei dieser Instanz anmelden können kann nur error_log verwenden
Zu diesem Zeitpunkt müssen Sie auch das Skript ändern und den Parameter „--initialize-insecure“ zum Skript hinzufügen. Achten Sie auf die Leerzeichen zwischen den Parametern.
Erstellen Nach der Verbindung ausführen
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
Folgevorgänge
Berechtigungen für den Root-Benutzer hinzufügen
GEWÄHREN SIE ALLE PRIVILEGIEN AUF . TO root@'%' IDENTIFIED BY „123456“;
Flush-Berechtigungen;
Fügen Sie dem mysqld_multi-Verwaltungsbenutzer multi_admin in jedem Fall die Berechtigung zum Herunterfahren hinzu
HERUNTERFAHREN ERWÄHREN . AN multi_admin@localhost IDENTIFIED BY 'password';
Wenn die Instanz nicht effektiv über mysqld_multi stop heruntergefahren werden kann, können Sie direkt über mysqladmin herunterfahren
Wenn die Instanz aufgrund eines fehlerhaften Betriebs nicht gestartet werden kann, können Sie das Fehlerprotokoll über den Befehl
tail -30 /var/log/mysql/error.log
anzeigen FAQ
2018-02-22T02:02:28.227868Z 0 [FEHLER] /usr/sbin/mysqld: Datei „/var/run/mysqld/mysql.pid3“ kann nicht erstellt/geschrieben werden (Fehlercode : 13 – Berechtigung verweigert)
2018-02-22T02:02:28.227889Z 0 [FEHLER] Server kann nicht gestartet werden: PID-Datei kann nicht erstellt werden: Berechtigung verweigert
Zu diesem Zeitpunkt können Sie dies tun siehe /var/run Der Ordner /mysqld lautet wie folgt, löschen Sie alle Dateien und starten Sie ihn neu
-rw-r--r-- 1 root root 0 Feb 22 02:01 mysqld.pid
-rw- r--r-- 1 root root 0 21. Februar 15:35 mysqld.pid2
srwxrwxrwx 1 mysql mysql 0 22. Februar 02:02 mysqld.sock=
srwxrwxrwx 1 mysql mysql 0 22. Februar 02: 02 mysqld.sock2=
-rw------- 1 mysql mysql 6 Feb 22 02:02 mysqld.sock2.lock
srwxrwxrwx 1 mysql mysql 0 Feb 22 02:02 mysqld.sock3=
-rw ------- 1 mysql mysql 6 Feb 22 02:02 mysqld.sock3.lock
-rw------- 1 mysql mysql 6 Feb 22 02:02 mysqld.sock.lock
-rw-r--r-- 1 Wurzel Wurzel 0 22. Februar 02:01 mysql.pid2
-rw-r--r-- 1 Wurzel Wurzel 0 22. Februar 02:01 mysql.pid3
Verwandte Empfehlungen:
Bereitstellung einer MySQL-Einzelmaschinen-Mehrinstanzlösung
MySQL-Einzelmaschinen-Mehrinstanzkonfiguration
LBOMP – eigenständiges MySQL-Backup-Überwachungstool
Das obige ist der detaillierte Inhalt vonMySQL-Einzelmaschine, mehrere Instanzen teilen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



MySQL ist für Anfänger geeignet, da es einfach zu installieren, leistungsfähig und einfach zu verwalten ist. 1. Einfache Installation und Konfiguration, geeignet für eine Vielzahl von Betriebssystemen. 2. Unterstützung grundlegender Vorgänge wie Erstellen von Datenbanken und Tabellen, Einfügen, Abfragen, Aktualisieren und Löschen von Daten. 3. Bereitstellung fortgeschrittener Funktionen wie Join Operations und Unterabfragen. 4. Die Leistung kann durch Indexierung, Abfrageoptimierung und Tabellenpartitionierung verbessert werden. 5. Backup-, Wiederherstellungs- und Sicherheitsmaßnahmen unterstützen, um die Datensicherheit und -konsistenz zu gewährleisten.

Navicat selbst speichert das Datenbankkennwort nicht und kann das verschlüsselte Passwort nur abrufen. Lösung: 1. Überprüfen Sie den Passwort -Manager. 2. Überprüfen Sie Navicats "Messnot Password" -Funktion; 3.. Setzen Sie das Datenbankkennwort zurück; 4. Kontaktieren Sie den Datenbankadministrator.

Erstellen Sie eine Datenbank mit Navicat Premium: Stellen Sie eine Verbindung zum Datenbankserver her und geben Sie die Verbindungsparameter ein. Klicken Sie mit der rechten Maustaste auf den Server und wählen Sie Datenbank erstellen. Geben Sie den Namen der neuen Datenbank und den angegebenen Zeichensatz und die angegebene Kollektion ein. Stellen Sie eine Verbindung zur neuen Datenbank her und erstellen Sie die Tabelle im Objektbrowser. Klicken Sie mit der rechten Maustaste auf die Tabelle und wählen Sie Daten einfügen, um die Daten einzufügen.

Durch das Kopieren einer Tabelle in MySQL müssen neue Tabellen erstellt, Daten eingefügt, Fremdschlüssel festgelegt, Indizes, Auslöser, gespeicherte Verfahren und Funktionen kopiert werden. Zu den spezifischen Schritten gehören: Erstellen einer neuen Tabelle mit derselben Struktur. Fügen Sie Daten aus der ursprünglichen Tabelle in eine neue Tabelle ein. Legen Sie die gleiche fremde Schlüsselbeschränkung fest (wenn die Originaltabelle eine hat). Erstellen Sie den gleichen Index. Erstellen Sie denselben Auslöser (wenn die ursprüngliche Tabelle eine hat). Erstellen Sie dieselbe gespeicherte Prozedur oder Funktion (wenn die ursprüngliche Tabelle verwendet wird).

Navicat für MariADB kann das Datenbankkennwort nicht direkt anzeigen, da das Passwort in verschlüsselter Form gespeichert ist. Um die Datenbanksicherheit zu gewährleisten, gibt es drei Möglichkeiten, Ihr Passwort zurückzusetzen: Setzen Sie Ihr Passwort über Navicat zurück und legen Sie ein komplexes Kennwort fest. Zeigen Sie die Konfigurationsdatei an (nicht empfohlen, ein hohes Risiko). Verwenden Sie Systembefehlsleitungs -Tools (nicht empfohlen, Sie müssen die Befehlszeilen -Tools beherrschen).

Zeigen Sie die MySQL -Datenbank mit dem folgenden Befehl an: Verbindung zum Server: MySQL -U -Benutzername -P -Kennwort ausführen STEILE -Datenbanken; Befehl zum Abrufen aller vorhandenen Datenbanken auswählen Datenbank: Verwenden Sie den Datenbanknamen. Tabelle Ansicht: Tabellen anzeigen; Tabellenstruktur anzeigen: Beschreiben Sie den Tabellennamen; Daten anzeigen: Wählen Sie * aus Tabellenname;

Kopieren und einfügen in MySQL die folgenden Schritte: Wählen Sie die Daten aus, kopieren Sie mit Strg C (Windows) oder CMD C (MAC). Klicken Sie mit der rechten Maustaste auf den Zielort, wählen Sie ein Einfügen oder verwenden Sie Strg V (Windows) oder CMD V (MAC). Die kopierten Daten werden in den Zielort eingefügt oder ersetzen vorhandene Daten (je nachdem, ob die Daten bereits am Zielort vorhanden sind).

Schritte zur Durchführung von SQL in Navicat: Verbindung zur Datenbank herstellen. Erstellen Sie ein SQL -Editorfenster. Schreiben Sie SQL -Abfragen oder Skripte. Klicken Sie auf die Schaltfläche Ausführen, um eine Abfrage oder ein Skript auszuführen. Zeigen Sie die Ergebnisse an (wenn die Abfrage ausgeführt wird).
