| Linux/UNIX Linuxverfechter finden hier Weggefährten. |
Diskussion: Ideen für eine parallele Installation eines DMS im Forum Linux/UNIX, in der Kategorie Operating Systems; Anzeige Hallo, ich habe hier folgendes Problem: wir haben ein DMS (KnowledgeTree), welches Produktiv eingesetzt wird. Das ist im Grunde ...
![]() |
| | #1 (permalink) |
| Anzeige Hallo, ich habe hier folgendes Problem: wir haben ein DMS (KnowledgeTree), welches Produktiv eingesetzt wird. Das ist im Grunde genommen eine Ansammlung von PHP Scripts, auf Basis von MySQL und Apache. Das ganze läuft auf einem Linux auf einer IBM z Maschine. Nunja, jedenfalls geht es nun darum in Zukunft sicher und komfortabel Updates des gleichen Einspielen zu können. Der Normale Updateprozess des DMS ist im Grunde genommen eine Überschreibung des alten Ordners und die anschließende Ausführung eines Updatescripts, das wirkt mir aber zu unsicher, weil man keine Möglichkeit hat rückgängig zu machen. Mal von Backups abgesehen, was nicht besonders elegant ist. Deshalb soll ein Testsystem eingerichtet werden, also eine Parallele Installation der neuen Version, welche zum Testen genommen wird und die Produktiv-eingesetzte Version auch bei Fehlern nicht beeinflussen darf. Wenn alles fehlerfrei getestet wurde soll einfach "umgeswitcht" werden. Also ohne Ausfallzeit und ohne dass die User etwas merken. Die erste und naheliegenste Möglichkeit, die mir einfiel ist einfach ein neuer Ordner für das Testsystem anlegen, eine neue Datenbank dafür anlegen und darin installieren. Rechte für die Produktivdatenbank natürlich entziehen. Das Problem was ich hier sehe ist, dass die Testumgebung eventuell den MySQL Server (den sich ja beide teilen) negativ beeinflusst und somit auch das Produktivsystem. Ist es möglich auf Linux auch 2 MySQL Server parallel zu betreiben? Eine weitere Möglichkeit wäre eine weitere VM anzulegen, als Klon der Produktivumgebung, dort zu updaten, testen und gegebenenfalls umzuswitchen. Natürlich zieht eine VM nochmal extra Leistung/Speicher etc. und ist deshalb vllt. übertrieben. Die Z is ohnehin nicht mehr die schnellste ;-) Habt ihr noch weitere Vorschläge/Ergänzungen usw? Würde mich freuen Danke | |
| | |
| | #2 (permalink) |
| Moderator ![]() Registriert seit: 30.09.06 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 441 | Du kannst problemlos mehrere DB-Systeme parallel laufen lassen. Gibt nur einiges zu beachten: - Du musst selbst kompilieren um jede DB in einen extra Ordner zu installieren. - Die DBs müssen auf verschiedenen Ports und/oder Netzwerk-Interfaces laufen. - Die DBs dürfen sich auf keinen Fall ihre Daten- oder Log-Verzeichnisse teilen. Du könntest z.B. diese Anleitung nutzen um die Datenbanken zu kompilieren. Dabei musst du lediglich die Pfade beim configure-Befehl anpassen.
__________________ Mein Blog - Mein Job - Diaspora Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund. Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+ |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Themenstarter | Vielen Dank für die Antwort. In deinem Link ist im Configure Befehl der Parameter --sysconfdir=/etc enthalten, kommt es da nicht zu Konflikten zwischen beiden Servern? Kann man das Verzeichnis einfach auf ein beliebiges ändern? |
| | |
| | #4 (permalink) |
| Moderator ![]() Registriert seit: 30.09.06 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 441 | Deswegen schrieb ich ja, dass du die Pfade anpassen musst. Da kannst du natürlich beliebige wählen.
__________________ Mein Blog - Mein Job - Diaspora Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund. Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+ |
| | |
| | #5 (permalink) | |
| Themenstarter | Zitat:
eventuell muss er ja auf andere Sachen in /etc zugreifen und wenn ich dass dann auf ein beliebiges Verzeichnis ändere läufts nicht. Und kannst du mir noch verraten, wie ich den client in /usr/bin hinbekomme, habe die befürchtung dass der Original Client von der Install überschrieben wird? Also so dass ich beide Clients über die Kommandozeile aufrufen kann, einma mysql und einma mysql_test ? Hab leider keine Erfahrung damit. //edit: Einfach die sachen /usr/local/mysql_test/bin umbenennen und dann nach usr/bin linken? Wobei mysql_test mein geänderter Ordnername ist Danke | |
| | |
| | #6 (permalink) |
| Moderator ![]() Registriert seit: 30.09.06 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 441 | Ich würde dir folgendes empfehlen... Du installierst 2 MySQL, eine in /usr/local/mysql und die andere in /usr/local/mysql_test. Die Konfigurationen und Datenverzeichnisse legst du auch innerhalb dieser Verzeichnisse ab. Damit hast du eine saubere Trennung der Daten und Software beider DBs. Einen der Clients verlinkst du nach /usr/bin. Wichtig ist ja nur, dass der Client min. die Version des Servers hat. Mit dem Client kannst du also auf beide Server zugreifen. Alternativ rufst du den Client immer mit dem vollen Pfad auf.
__________________ Mein Blog - Mein Job - Diaspora Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund. Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+ |
| | |
| | #7 (permalink) | |
| Themenstarter | Zitat:
![]() Danke für die Hilfe | |
| | |
| | #8 (permalink) |
| Moderator ![]() Registriert seit: 30.09.06 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 441 | Naja, ganz so'n Denkfehler ist das nicht. Du musst halt drauf achten nicht über localhost auf die DB zuzugreifen, wenn du einen Client nutzt, der nicht mit der DB kompiliert wurde. Nutzt du localhost, wird der Client- und Server-Abschnitt der my.cnf ausgewertet, die zum Client gehört, um darüber den lokalen Socket usw. zu ermitteln. Ansonsten nutzt er aber eh TCP und dann ist es egal, welchen Client du hast. Vorsicht auch beim Linken von PHP o.ä.. Immer bedenken, dass das PHP gegen die beim Kompilieren angegebene MySQL gelinkt ist.
__________________ Mein Blog - Mein Job - Diaspora Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund. Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+ |
| | |
| | #9 (permalink) |
| Themenstarter | Mh ich möchte schon über localhost drauf zugreifen. Ich dachte jetzt eigentlich dass ich einfach z.b. mit mysql -P andererPort auf den anderen Server zugreife? Und bei PHP genauso einfach einen anderen Port beim Connecten angebe. |
| | |
| | #10 (permalink) |
| Moderator ![]() Registriert seit: 30.09.06 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 441 | Dann wirst du um 2 PHP-Versionen vermutlich nicht herum kommen, damit der richtige Socket genutzt wird. Sonst versucht PHP ggf. den falschen lokalen Socket zu benutzen. Weiss allerdings nicht wie es bei einer expliziten Port-Angabe reagiert und ob da ggf. TCP für die Verbindung benutzt wird. Müsste man einfach mal evaluieren.
__________________ Mein Blog - Mein Job - Diaspora Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund. Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+ |
| | |
| | #11 (permalink) |
| Senior Member Registriert seit: 26.03.06 ![]() Likes: 16 | Ich würde dir die Virtualisierungslösung empfehlen. Hast du schon nen VMware ESX Server laufen oder wie kann ich mir das vorstellen? 2 VMs wird er ja wohl locker packen oder? cu serow |
| | |
| | #12 (permalink) | |
| Themenstarter | Zitat:
Natürlich kriegt der das gebacken Ich soll halt so viele wie möglich Lösungsansätze finden und detailiert aufzeigen was zu machen wäre, und mein Teamleiter möchte dann mit mir zusammen abstimmen welche der Lösungen nun durchgesetzt wird. Weiß denn wer, wie ich PHP zwingen kann TCP als Verbindung zum MySQL zu benutzen? Eventuelle Performanceverluste sind weniger wichtig. Ich kann es leider gerade nicht einfach ausprobieren, ob es vllt. wie o.g. klappt. | |
| | |
| | #13 (permalink) |
| Du kannst bei einem MySQL Verbindungsaufbau (mysql_connect) als Host sowohl einen Port mit angeben, als auch direkt einen Pfad zum Socket angeben. Damit solltest du wohl in der Lage sein, zwei MySQL Server zu unterhalten. Socket: mysql_connect(':/tmp/mysql', 'mysql_user', 'mysql_password'); Port (TCP/IP): mysql_connect('127.0.0.1:3307', 'mysql_user', 'mysql_password'); http://de.php.net/manual/en/function.mysql-connect.php (Siehe Beispiele) mfg, metax.
__________________ Wenn keiner zuschaut, teile ich heimlich durch Null! Meine Homepage: Planet Metax | meine Bilder: DeviantArt | Twitter | |
| | |
| | #14 (permalink) |
| Moderator ![]() Registriert seit: 30.09.06 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 441 | Wenn man localhost verwendet wird trotzdem der lokale Socket genutzt, der in der my.cnf steht.
__________________ Mein Blog - Mein Job - Diaspora Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund. Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+ |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Tutorial: Mit PHP-Code die Ausgabe eines PHP-Scripts in eine pdf-Datei exportieren | Athelstan | (Web-) Design und webbasierte Sprachen | 4 | 26.01.09 01:05 |
| Hat noch irgendwer eine CompuSEC Version 4.24 Installation? | NovitA | Cryptography & Encryption | 4 | 16.02.08 11:33 |
| Hab eine frage bezüglich der richtigkeit eines programms | onix | Code Kitchen | 1 | 07.10.07 16:38 |
| Parallele Programmabläufe? | m00nk | Code Kitchen | 3 | 06.12.06 20:22 |
| Installation eines neuen Betreibssystems! | Mano | Windows | 2 | 17.09.03 21:32 |