Mehrere MySQL Instanzen auf OS 13.1 - wie geht das richtig?
Hallo Leute, ich stehe vor der Herausforderung auf einem OpenSUSE mehrere MySQL Instanzen einzurichtung und zu betreiben. Ich habe bereits eine gefühlte ganze Woche damit zugebracht, herauszufinden, wie man das richtig einrichtet. Im Netz findet man zwar viele Lösungen, aber keine scheint auf OpenSUSE zu passen. Kann jemand helfen? System ist OS 13.1 32bit, MySQL 5.6.30 Mit meinen Recherchen im Netz und durch Herumprobieren bin ich zwar darauf gekommen, dass ich durch Hinzufügen einer myX.cnf und Ändern der Schlüsselparameter Port, PID, Daten-Verzeichnisse und Log-Files eine zusätzliche Instanz mysql@X starten und stoppen kann, die dann auch ordentlich läuft, jedoch nur nachdem die Instanz "mysql" läuft, also die durch my.cnf konfiguriert wird. Ich möchte aber meine Instanzen unabhängig voneinander starten und stoppen können. Das geht zwar mit einer weiteren mysql@X Instanz, ich kann dann bspw. mysql@2 und mysql@3 unabhängig von einander steuern, aber mysql muss erst laufen. Das kann ja nicht Sinn der Sache sein, dass eine Instanz laufen muss, damit ich eine andere starten kann. Oder ist die mysql nur eine Grundinstanz, der keine Ressourcen zugeordnet werden sollen? Wenn so, wie ist das ganze richtig zu konfigurieren? Grüße Richard -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Das funktioniert nicht mit dem RPM ... ich habe das nur mit dem precompiled binary von oracle hinbekommen ... Jede Instanz benötigt Ihre eigene Pfade, config, socket, port ... z.B. /mysql /mysql/backup/{InstanzName} /mysql/bin/{InstanzName} /mysql/binlog/{InstanzName} /mysql/etc/{InstanzName} /mysql/data/{InstanzName} /mysql/instances/{InstanzName} mysql binary source file nach /mysql/bin/{InstanzName}/ entpacken die config nach /mysql/etc/{InstanzName}/my.cnf die config sollte vorzugsweise ein Template sein, in dem noch 'Port' und 'InstanzName' angepasst werden muß. dann sowas wie /mysql/bin/{InstanzName}/scripts/mysql_install_db \ --basedir=/mysql/bin/{InstanzName} \ --datadir=/mysql/data/{InstanzName} dann mußt du noch eigene start/stop scripte für diese Instanzen erstellen ... das ist jetzt nur mal ne grobe Richtung ... hoffe ich konnte ein wenig helfen Gruß Chris Am 03.08.2016 um 20:35 schrieb Richard Hafenscher:
Hallo Leute,
ich stehe vor der Herausforderung auf einem OpenSUSE mehrere MySQL Instanzen einzurichtung und zu betreiben. Ich habe bereits eine gefühlte ganze Woche damit zugebracht, herauszufinden, wie man das richtig einrichtet. Im Netz findet man zwar viele Lösungen, aber keine scheint auf OpenSUSE zu passen. Kann jemand helfen?
System ist OS 13.1 32bit, MySQL 5.6.30
Mit meinen Recherchen im Netz und durch Herumprobieren bin ich zwar darauf gekommen, dass ich durch Hinzufügen einer myX.cnf und Ändern der Schlüsselparameter Port, PID, Daten-Verzeichnisse und Log-Files eine zusätzliche Instanz mysql@X starten und stoppen kann, die dann auch ordentlich läuft, jedoch nur nachdem die Instanz "mysql" läuft, also die durch my.cnf konfiguriert wird.
Ich möchte aber meine Instanzen unabhängig voneinander starten und stoppen können. Das geht zwar mit einer weiteren mysql@X Instanz, ich kann dann bspw. mysql@2 und mysql@3 unabhängig von einander steuern, aber mysql muss erst laufen. Das kann ja nicht Sinn der Sache sein, dass eine Instanz laufen muss, damit ich eine andere starten kann. Oder ist die mysql nur eine Grundinstanz, der keine Ressourcen zugeordnet werden sollen? Wenn so, wie ist das ganze richtig zu konfigurieren?
Grüße Richard
-- Christian ---------------------------------------------------- - Please do not 'CC' me on list mails. Just reply to the list :) ---------------------------------------------------- Der ultimative shop für Sportbekleidung und Zubehör http://www.sc24.de ---------------------------------------------------- -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hallo, Am 03.08.2016 um 23:13 schrieb Christian:
Das funktioniert nicht mit dem RPM ... ich habe das nur mit dem precompiled binary von oracle hinbekommen ...
Jede Instanz benötigt Ihre eigene Pfade, config, socket, port ... z.B.
/mysql /mysql/backup/{InstanzName} /mysql/bin/{InstanzName} /mysql/binlog/{InstanzName} /mysql/etc/{InstanzName} /mysql/data/{InstanzName} /mysql/instances/{InstanzName}
mysql binary source file nach /mysql/bin/{InstanzName}/ entpacken die config nach /mysql/etc/{InstanzName}/my.cnf die config sollte vorzugsweise ein Template sein, in dem noch 'Port' und 'InstanzName' angepasst werden muß.
dann sowas wie /mysql/bin/{InstanzName}/scripts/mysql_install_db \ --basedir=/mysql/bin/{InstanzName} \ --datadir=/mysql/data/{InstanzName}
dann mußt du noch eigene start/stop scripte für diese Instanzen erstellen ...
das ist jetzt nur mal ne grobe Richtung ... hoffe ich konnte ein wenig helfen
Also dass das mit den RPM's nicht klappen soll kann ich nicht nachvollziehen. Klar ist, dass man getrennte Datenbankverzeichnisse benötigt, separate Konfigs sind auch ratsam möchte man nicht unzählige Parameter beim Start von mysqld übergeben und auch die Startskripts müssen angepasst werden. Aber dann sollte das doch funktionieren. Gruß Manfred -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hallo Richard, hallo zusammen, Am Mittwoch, 3. August 2016, 20:35:46 CEST schrieb Richard Hafenscher:
ich stehe vor der Herausforderung auf einem OpenSUSE mehrere MySQL Instanzen einzurichtung und zu betreiben. Ich habe bereits eine gefühlte ganze Woche damit zugebracht, herauszufinden, wie man das richtig einrichtet. Im Netz findet man zwar viele Lösungen, aber keine scheint auf OpenSUSE zu passen. Kann jemand helfen?
System ist OS 13.1 32bit, MySQL 5.6.30
Die Lebensdauer der 13.1 ist begrenzt - spricht irgendwas gegen 42.1? (Ich habe sogar schon einen Server mit 42.2 laufen und werde den wohl ab Beta1 in den Produktivbetrieb nehmen.)
Mit meinen Recherchen im Netz und durch Herumprobieren bin ich zwar darauf gekommen, dass ich durch Hinzufügen einer myX.cnf und Ändern der Schlüsselparameter Port, PID, Daten-Verzeichnisse und Log-Files eine zusätzliche Instanz mysql@X starten und stoppen kann, die dann auch ordentlich läuft, jedoch nur nachdem die Instanz "mysql" läuft, also die durch my.cnf konfiguriert wird.
In der my.cnf sind auskommentierte Abschnitte [mysqld1], [mysqld2] usw., mit denen Du weitere Instanzen starten kannst. Allerdings....
Ich möchte aber meine Instanzen unabhängig voneinander starten und
... bekommst Du diesen Wunsch wohl nicht erfüllt, wenn Du diesen Weg in der my.cnf gehst. Wobei - die mysql@.service könnte das sogar ermöglichen. Ich habe das nie gebraucht, von daher - probiers einfach aus ;-) Gruß Christian Boltz -- Richtig geraten - Netscape 4 und CSS vertragen sich etwa so gut wie ein Nagel und ein Reifen ;-) [Christian Boltz in suse-linux] -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hallo! Am 04.08.2016 um 12:25 schrieb Christian Boltz:
Hallo Richard, hallo zusammen,
Am Mittwoch, 3. August 2016, 20:35:46 CEST schrieb Richard Hafenscher:
ich stehe vor der Herausforderung auf einem OpenSUSE mehrere MySQL Instanzen einzurichtung und zu betreiben. Ich habe bereits eine gefühlte ganze Woche damit zugebracht, herauszufinden, wie man das richtig einrichtet. Im Netz findet man zwar viele Lösungen, aber keine scheint auf OpenSUSE zu passen. Kann jemand helfen?
System ist OS 13.1 32bit, MySQL 5.6.30 Die Lebensdauer der 13.1 ist begrenzt - spricht irgendwas gegen 42.1? (Ich habe sogar schon einen Server mit 42.2 laufen und werde den wohl ab Beta1 in den Produktivbetrieb nehmen.) Die Hardware. Ist ein P4 :-/ Das sollte ein Testserver werden und gleichzeitig von einem Produktivserver Backups übernehmen, daher mehrere Instanzen. Dafür sollte es reichen, denke ich. Und 13.1 läuft sehr gut darauf.
Mit meinen Recherchen im Netz und durch Herumprobieren bin ich zwar darauf gekommen, dass ich durch Hinzufügen einer myX.cnf und Ändern der Schlüsselparameter Port, PID, Daten-Verzeichnisse und Log-Files eine zusätzliche Instanz mysql@X starten und stoppen kann, die dann auch ordentlich läuft, jedoch nur nachdem die Instanz "mysql" läuft, also die durch my.cnf konfiguriert wird. In der my.cnf sind auskommentierte Abschnitte [mysqld1], [mysqld2] usw., mit denen Du weitere Instanzen starten kannst. Allerdings.... Diese Abschnitte sind für mysql_multi gedacht und das gibt es nicht auf OpenSUSE, vermutlich nicht mehr seit es systemd verwendet, wenn gleich es grundsätzlich noch funktionieren würde. Darüber findet sich im Internet einiges, passt aber hier nicht.
Ich möchte aber meine Instanzen unabhängig voneinander starten und ... bekommst Du diesen Wunsch wohl nicht erfüllt, wenn Du diesen Weg in der my.cnf gehst.
Wobei - die mysql@.service könnte das sogar ermöglichen. Ich habe das nie gebraucht, von daher - probiers einfach aus ;-) Wie ich erwähnt habe, die mysql.service muss eben erst laufen. Dann kann ich mysql@2.service, mysql@3.service, usw. starten, und da fehlen mir die Zusammenhänge. Erstere verwendet die my.cnf, die nächste die my2.cnf, my3.cnf, usw. Meine Frage ist, geht es auch ohne mysql.service, bzw. wenn nicht, was muss in der my.cnf stehen, wenn die nur als "leere Instanz" mitläuft? Braucht es einen Port, ein Datenzeichnis und log-Files. Ich schätze mal, ja, wollte aber nachdem ich selbst dazu nix finden konnte, hier mal fragen, wie es denn sein soll, ehe ich noch weiter herumprobiere.
Grüße Richard -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Am 04.08.2016 um 16:45 schrieb Richard Hafenscher:
Hallo!
Am 04.08.2016 um 12:25 schrieb Christian Boltz:
Hallo Richard, hallo zusammen,
Am Mittwoch, 3. August 2016, 20:35:46 CEST schrieb Richard Hafenscher:
ich stehe vor der Herausforderung auf einem OpenSUSE mehrere MySQL Instanzen einzurichtung und zu betreiben. Ich habe bereits eine gefühlte ganze Woche damit zugebracht, herauszufinden, wie man das richtig einrichtet. Im Netz findet man zwar viele Lösungen, aber keine scheint auf OpenSUSE zu passen. Kann jemand helfen?
System ist OS 13.1 32bit, MySQL 5.6.30 Die Lebensdauer der 13.1 ist begrenzt - spricht irgendwas gegen 42.1? (Ich habe sogar schon einen Server mit 42.2 laufen und werde den wohl ab Beta1 in den Produktivbetrieb nehmen.) Die Hardware. Ist ein P4 :-/ Das sollte ein Testserver werden und gleichzeitig von einem Produktivserver Backups übernehmen, daher mehrere Instanzen. Dafür sollte es reichen, denke ich. Und 13.1 läuft sehr gut darauf.
Mit meinen Recherchen im Netz und durch Herumprobieren bin ich zwar darauf gekommen, dass ich durch Hinzufügen einer myX.cnf und Ändern der Schlüsselparameter Port, PID, Daten-Verzeichnisse und Log-Files eine zusätzliche Instanz mysql@X starten und stoppen kann, die dann auch ordentlich läuft, jedoch nur nachdem die Instanz "mysql" läuft, also die durch my.cnf konfiguriert wird. In der my.cnf sind auskommentierte Abschnitte [mysqld1], [mysqld2] usw., mit denen Du weitere Instanzen starten kannst. Allerdings.... Diese Abschnitte sind für mysql_multi gedacht und das gibt es nicht auf OpenSUSE, vermutlich nicht mehr seit es systemd verwendet, wenn gleich es grundsätzlich noch funktionieren würde. Darüber findet sich im Internet einiges, passt aber hier nicht.
Ich möchte aber meine Instanzen unabhängig voneinander starten und ... bekommst Du diesen Wunsch wohl nicht erfüllt, wenn Du diesen Weg in der my.cnf gehst.
Wobei - die mysql@.service könnte das sogar ermöglichen. Ich habe das nie gebraucht, von daher - probiers einfach aus ;-) Wie ich erwähnt habe, die mysql.service muss eben erst laufen. Dann kann ich mysql@2.service, mysql@3.service, usw. starten, und da fehlen mir die Zusammenhänge. Erstere verwendet die my.cnf, die nächste die my2.cnf, my3.cnf, usw. Meine Frage ist, geht es auch ohne mysql.service, bzw. wenn nicht, was muss in der my.cnf stehen, wenn die nur als "leere Instanz" mitläuft? Braucht es einen Port, ein Datenzeichnis und log-Files. Ich schätze mal, ja, wollte aber nachdem ich selbst dazu nix finden konnte, hier mal fragen, wie es denn sein soll, ehe ich noch weiter herumprobiere.
Grüße Richard
Hallo Richard, in der Mysql-Doku gibt es bei systemd eine Anleitung dazu, wie man mehrere Instanzen von Mysql unter systemd konfiguriert, z.B. hier: http://dev.mysql.com/doc/refman/5.7/en/server-management-using-systemd.html (relativ weit unten) Ausprobiert habe ich das nicht, hört sich aber einigermaßen verständlich an. Viel Erfolg Christian -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
participants (5)
-
Christian
-
Christian Boltz
-
Christian Pelz
-
Manfred Kreisl
-
Richard Hafenscher