Kennen Sie eine Debian-Methode zum Einrichten mehrerer MySQL-Instanzen auf einem einzelnen Server? Der Server empfängt Daten, die von mehreren entfernten Datenbanken repliziert wurden.
Ich könnte Skripte wie mysqlsandbox verwenden, aber ich halte mich lieber an Debian-Pakete und möchte das Setup in Zukunft ohne große Komplikationen aktualisieren können. Eine andere Lösung ist mysqlmanager - es funktioniert mit MySQL 5.1, ist jedoch veraltet und wird mit 5.5 nicht mehr veröffentlicht.
Was ist die beste Vorgehensweise, um mehrere MySQL-Instanzen auf einem einzelnen Debian-Server auszuführen?
Antworten:
Ich glaube, es ist so einfach wie das Ausführen
mysqld_multi
und Einrichten Ihrer my.cnf.mysqld_multi
ist ein Teil der MySQL-Distribution - keine verpackte Rüsche.Es gibt einen Patch , der
/usr/share/mysql/mysqld_multi.server
für die Verwendung geeignet ist,/etc/init.d
und einen weiteren Patch, in demmysqld_multi
Dateien verwendet werden können/etc/mysql/conf.d
.Sie können MySQL-Datenverzeichnisse für neue Instanzen mit dem folgenden
mysql_install_db
Befehl initialisieren :Vergessen Sie nicht, das Root-Passwort der neu erstellten Instanz zu ändern:
quelle
Unter Debian 8 können Sie den Systemd-Mechanismus verwenden: keine Notwendigkeit mehr
mysqld_multi
.HINWEIS: Ich verwende die MariaDB-Version! Ich bin mir nicht sicher, ob es mit dem 'klassischen' MySQL-Paket funktioniert.
Von
/lib/systemd/system/[email protected]
:Erstellen Sie also eine Datei
/etc/mysql/conf.d/myserver2.cnf
und geben Sie darin neue pid / socket / datadir-Dateien und den Netzwerkport an:EDIT: vorsicht , dass erste MySQL - Instanz nicht über diese Konfigurationsdatei lesen, mit
!includedir /etc/mysql/conf.d/*
am unteren Ende/etc/mysql/my.cnf
. Wenn dies der Fall ist, ersetzen Sie die!includedir
durch eine!include
von jeder Konfigurationsdatei ANDERE ALS myserver2.cnf:Die MySQL offiziell doc zeigen Sie Namen
[mysqld]
wie[mysqld@server2]
( https://dev.mysql.com/doc/refman/5.7/en/using-systemd.html#systemd-multiple-mysql-instances ) , aber das funktioniert nicht mit MariaDB . Also lass es einfach[mysqld]
.Vergessen Sie vor dem Starten des neuen Daemons nicht, den Datenverzeichnis und die benötigten Dateien zu erstellen:
Laden Sie auch die Systemd Daemon-Konfiguration neu:
Und wenn Sie diesen Daemon beim Booten starten möchten:
Um es zu starten:
quelle
/etc/my.cnf
, deshalb.!includedir /etc/mysql/conf.d/*
. Zur besseren Sicherheit habe ich jedeconf.d
Datei manuell eingefügt