Ich habe gerade MySQL 5.7 auf Windows 2012 VM installiert. Ich versuche mehrere Instanzen zu erstellen und auszuführen, bin aber sehr frustriert, dass so eine einfache Sache nicht funktioniert.
Ich habe MySQL in C: \ Programme \ MySQL \ MySQL Server 5.7 installiert. Dies ist der Standardspeicherort. Dann habe ich den Ordner kopiert und eine weitere Kopie davon erstellt, um eine weitere Instanz zu erstellen (ich nehme an, dass dies so funktioniert?).
Beide MySQL-Instanzen sind in der folgenden Abbildung dargestellt.
Die INI-Einstellungen für beide Server sind unten angegeben:
Server 1
Server-ID = 1
log-bin = "mysql-bin"
binlog-ignore-db = test
binlog-ignore-db = Informationsschema
replizieren-ignorieren-db = Test
replizieren-ignorieren-db = Informationsschema
Relay-log = "mysql-Relay -log "
Auto-Inkrement-Inkrement = 2
Auto-Inkrement-Offset = 1
Server2
Server-ID = 2
log-bin = "mysql-bin"
binlog-ignore-db = test
binlog-ignore-db = Informationsschema
replizieren-ignorieren-db = Test
replizieren-ignorieren-db = Informationsschema
Relay-log = "mysql- Relais-Protokoll "
Auto-Inkrement-Inkrement = 2
Auto-Inkrement-Offset = 2
Ich führe beide Server aus, indem ich die Eingabeaufforderung öffne und Folgendes
eingebe : "C: \ Programme \ MySQL \ MySQL Server 5.7 \ bin \ mysqld"
"C: \ Programme \ MySQL \ MySQL Server 5.7 - 2 \ bin \ mysqld"
Der Befehl scheint erfolgreich ausgeführt zu werden, da kein Fehler angezeigt wird. Wenn ich jedoch im Task-Manager nachschaue, ob MySQL-Prozesse ausgeführt werden, werden keine angezeigt.
Was mache ich falsch?
quelle
Antworten:
Ich glaube, Sie haben versucht, sie auf demselben Port auszuführen.
Die Portnummern wurden so geändert, dass sie unterschiedlich waren
quelle
Der Fehler, den ich gemacht habe, war, den gesamten MySQL-Installationsordner zu kopieren. Sie müssen diesen Ordner nicht kopieren.
Natürlich müssen Sie in jeder INI-Datei eine andere Portnummer definieren, wie von @Anthony Fornito angegeben.
quelle
Erstellen Sie eine neue Datei im Datenverzeichnis mit dem Namen mysql-init.txt und fügen Sie eine einzelne Zeile hinzu, um sicherzustellen, dass das Kennwort des Root-Benutzers festgelegt ist.
ALTER USER 'root'@'localhost' IDENTIFIED BY '[Enter Password]';
Bearbeiten Sie die Datei my.ini, indem Sie den Namen des Ports, des Sockets, des Datenverzeichnisses und der gemeinsam genutzten Speicherbasis ändern. All dies muss sich von anderen Instanzen von MySQL unterscheiden.
my.ini:
Navigieren Sie in der Befehlszeile zu ~ \ MySQL Server XY \ bin \ und führen Sie es aus
mysqld --install MySQL57-2 --defaults-file=E:\mysql2\data\my.ini --init-file=E:\mysql2\data\mysql-init.txt
Starten Sie den Dienst
NET START MySQL57-2
Stellen Sie sicher, dass der Dienst erfolgreich gestartet wurde. Wenn dies nicht der Fall ist, finden Sie ein Fehlerprotokoll im Datenordner. Andernfalls sollten Sie bereit sein.
quelle