PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mysql ordner



Fritscherator
17.08.03, 23:53
Hi folks,

Folgendes, programmiere zur zeit eine java anwendung die auf ne mysql datenbank zugreift.
Dies mach ich sowohl unter linux als auch unter windows. Allerdings läuft mysql auf dem gleichen computer auf dem ich code.
Wie kann ich jetzt also mysql unter linux so einrichten dass es entweder die daten in den windows ordner schreibt und der Mysql-Windows-Server die auch beim nächsten start annimmt?
also dass die datenbank unter win und lin immer auf dem gleichen stand ist?
windows:fat32
linux:reiserfs

danke,
nico

Fritscherator
19.08.03, 01:04
Hab es immer noch nicht hinbekommen!
kann ja nicht sein dass sich hier niemand so gut mit mysql auskennt! Zeigt mal was ihr drauf habt!! ;)

Dodge
19.08.03, 09:50
Also wenn ich das richtig verstanden hab dann hast du 2 Datenbankserver? Einen auf Win32 und den anderen auf Linux?

Wenn dem so ist heisst das Stichwort <Replikation>. Hab ich noch nie benutzt, müsste aber im MySQL Handbuch stehen. Irgendwie musst du wahrscheinlich in der my.cnf den Master und den oder die Slave Server definieren. Ich glaub dann repliziert es sich auf Wunsch auch ganz automatisch.

Warum benutzt du 2 MySQL Server? Du kannst doch wunderschön über das Netz auf den Server zugreifen?

Fritscherator
19.08.03, 12:06
Danke werd mich mal über replikation informieren!
Warum 2 Server:

Das ist ja der *******!!! Ich hab auf meinem Laptop 2 OS: Windows und Linux!
Windows muss ich in der Arbeit verwenden( ist einfach so!leider). Linux benutz ich privat!
Also, wenn ich windows boote starte ich den mysql server den ich auf windows installiert hab!wenn ich linux boote den auf linux installierten!
ist es also nicht möglich dass die server einfach das gleiche Datenverzeichnis und Datendateien benutzten.

Z.B. so:
Linux-mysql.ini (fiktive config datei des Linuxservers)
DataFolder: /windows/e/mysql/data

Windows-mysql.ini (fiktive config datei des Windowsservers)
DataFolder: E:\mysql\data

Weisst du jetzt ungefähr was ich mein?

Dodge
20.08.03, 09:12
OK, jetzt hab ich es verstanden. Du setzt mit deiner Annahme vorraus, daß der
MySQL Server unter Linux wie auch unter Windows die gleichen Dateien benutzt.
Ich glaub nicht das das funktioniert. Beispielsweise gibt es unter Linux die Datei
my.cnf und unter Windows my.ini. Ich denke, daß das auch in weiteren Dateien
der Fall ist wo es möglicherweise nicht so offensichtlich ist...

Fritscherator
20.08.03, 11:07
Ja genau so hab ichs gemeint!was soll ich den jetzt machen??werd doch blos deswegen nicht komplett zu windows zurückkehren!:confused:
JBuilder läuft bei mir sogar besser unter linux als unter windows (Stabilität sowieso, aber auch Geschwindigkeit beim kompilieren).

Hat jemand ne Idee????

Nico

Dodge
20.08.03, 14:48
Ich will ja nix sagen, aber du redest immer von JBuilder...
Mit JBuilder schreibst du doch in Java, und Java ist doch OS
unabhängig oder musst du z.B. Betriebssystemfunktionen
verwenden die bei Win32 anders sind als bei Linux? Ich hab
bei mir halt einen extra Linux Rechner stehen wo der MySQL
Server drauf läuft (und noch andere Dinge)... Wenn ich möchte
kann ich den über IPSEC aus dem Internet benutzen, somit
kann ich OS-unabhängig entwickeln...

Stanislaus
20.08.03, 15:10
Wenn ich Dich richtig verstehe möchtest Du doch lediglich, daß der MySQL Server unter Windows auf die selben Tabellendaten zugreift, wie der Linux Server.
Habs zwar noch nie probiert, da ich auch nicht ganz den Sinnn sehe, aber imho sollte es kein Problem sein, die beiden Server einfach auf das selbe Verzeichnis zugreifen zu lassen.
Das Verzeichnis kannst Du in der my.cnf bzw. my.ini einstellen.
Probleme gibt es mit Sicherheit dann, wenn Du unterscheidliche Serverversionen nutzt, ansonsten sollte es IMHO gehen.

Viel Erfolg!

Fritscherator
20.08.03, 15:52
Danke erstmal!
Um nochmal auf den Sinn zurückzukommen! Das ist für mich wie wenn ihr in einer sehr tiefen wunde rumsticheln wuerdet! Liebend gerne wuerde ich nämlich nur Linux verwenden. Das Java plattformunabhängig ist, ist der hauptpunkt warum ich es verwende!
Der Sch.... ist nur dass ich in der Arbeit halt Windows benutzen MUSS!Das hängt mit unserer firmeninternen Software zusammen!
will aber nicht nur wegen der datenbank wieder zurück zu windows!

Gruss nico

Stanislaus
20.08.03, 20:29
Das mit dem Sinn bezog sich nicht auf den Einsatz von MySQL unter Windows oder Windows im Allgemeinen sondern auf den Wunsch von beiden Systemen auf die selben MySQL Dateien zuzugreifen.
Wenn Du den Rechner sowohl privat als auch für die Arbeit nutzt und häufig von unterschiedlichen OS auf die gleichen Datenbestände zugreifen willst sollte imho ein Zweitrechner drin sein.
Ich z.B. setzte einen alten AMD k5 200MHz mit ner 3 GB Platte und Gentoo (hat fast ne Woche kompiliert :D) als Datenbankmaschine ein und das Teil ist nichtmal ansatzweise ausgelastet.
Und wenn ich (selten) mal einen Router brauche muss die Kaiste dafür auch noch herhalten.
Sowas bekommt man doch an jeder Ecke nachgeschmissen.
Das schöne ist, daß , sofern Du auch noch andere DBs einsetzen willst, das Problem der gleichen Datenbestände für diese auch schon umschifft wäre.

Ich will Dir Deine Idee und Dein Vorhaben bei Gott nicht madig machen und wie gesagt ich denke, daß das "halbwegs" problemlos funktionieren sollte. Auf der Arbeit kopiere ich jedenfalls ständig Interbase Datenfiles von einem Server zum anderen.
Aber wenn Du wirklich damit Dein Geld verdienst halte ich dieses Vorgehen für wenig effektiv. Das bischen Strom und die Einmalige Anschaffung der Kiste sollten dann wirklich keine Rolle spielen.

Viel Erfolg und Schönen Abend!

Fritscherator
21.08.03, 17:22
Ah, jetzt versteh ich wo für dich der haken war!
Kurze aufklärung!
Hab ganz oben schon geschrieben dass es sich bei meinem rechner um einen laptop handelt und dass hiese also dass ich immer nen zweiten rechner mit mir rumtragen müsste!
Mein geld verdien ich leider nicht damit, verdien gar keins! bin nämlich student und grad praktikant in england!Das erschwert die sache natürlich nochmals! Ich glaube die Stewardess würde mich ganz schön dumm anschauen wenn ich bei meinem rückflug mit nem minitower unterm arm das Flugzeug betreten wuerde :D

naja, werd jetzt halt wärend ich in england bin nur auf win weiterprogrammieren und in deutschland dann die DB wieder irgendwie auf meinen PC transferieren. Und dann kann ich wieder ganz normal über die ip meines pc's auf die DB zugreifen! Des ganze gelocalhoste geht mir jetzt langsam auf den S...!

Nico

LINUXRH7
21.08.03, 17:31
Kurze Frage warum machst du nicht einfach einen Dump der DB (wenn diese nicht zu gross ist und nach dem booten des jeweiligen systems einfach einlesen lassen.

Und da du ja es gerade am Proggen bist... mach dann einfach dafür eine Backup Routine in deinem Programm rein, die das erledigt. so kannst du jetzt schon schnell wechseln und kannst nachher auch im Betrieb regelmässig Backup´s fahren.

Gruss
LiNUXrh7

Fritscherator
21.08.03, 17:40
OK, dass hört sich mal genau nach dem an was ich brauch!
Hab schon mal von Dump gehört, aber nur so nebenbei und schon lang her!
Aber wenn ich das noch richtig weiß ist das ein abbild des db servers!
hab kein problem mich da reinzuarbeiten, ne kleine starthilfe von dir wär aber super.

geht das backup command dann direkt an den Dump oder ist das ein SQL-Query??
oder beides???

Ich glaube aber dass du mir damit sehr gut helfen kannst, denn es geht ja nicht darum eine realtime datengleichheit zu haben sondern es sollen halt einfach die gleichen daten zur verfügung stehen wenn ich win herunterfahre und danach lin boote.

Würde damit gerne weitergehen....

Gruss Nico

Stanislaus
21.08.03, 17:52
AHHH ein Licht geht auf.
Sorry das mit dem Laptop hab ich beim ersten mal zwar gelesen aber beim zweiten schon wieder verrafft! :rolleyes:

Hast Du es denn einfach mal versucht, die MySQL Dateien hin und her zu kopieren bzw. die Dienste auf das selbe verzeichnis zeigen zu lassen?

In dem Verzeichnis mit den Daten liegt ein Ordner namens mysql mit dem wäre ich etwas vorsichtig. Alle anderen (pro DB ein eigener Ordner) solltest Du (gleiche MySQL Version voraussgesetzt) problemlos von beiden Systemen beschreiben können.

Bevor Du Dich mit irgendwelchen Datenexporten o.ä. rumschlägst würde ich es erstmal so testen. Denn solange der Krempel nur auf dieser Maschine läuft ist ein export bzw. Import der Daten imho ein wenig aufwändig. (Klar könnte man das automatisieren).

Hab leider kein Win zur Hand sonst würde ich das glatt mal selber testen. Aber wie gesagt mit den Interbase Datenfiles mache ich das beinahe täglich und hab noch nie Probleme gehabt.

Viel Erfolg!

LINUXRH7
21.08.03, 18:01
Um die den Dump zuerstellen:
mysqldump -A -u username -p > dump.sql

Einstpeilen mit:
mysql -u username -p < dump.sql

Das Passwort kannst du auch mit angeben, würde ich aber nicht mache, da es im klartext mit in dem Script stehen würde.

Gruss
LiNUXrh7

Fritscherator
21.08.03, 18:05
Hab das mit dem ordner schon ganz am anfang mal probiert, geht aber nicht, d.h. es zeigt mir im php myadmin die db auch nicht an!!!
in der my.conf finde ich keinen verweis auf den datenort! Nur auf den ort des servers!
ich probier noch mal ein bisschen rum!
das mit den datenexperten find ich kein problem, da ich student bin , setzt das ja auch ein bisschen an lernbegierde voraus!Aber auch nicht all zu viel!Deswegen geh ich jetzt erst mal wie das hier so üblich ist in den nächsten pub und gönn mir ein kühles teures pint lager!!

Nico

Fritscherator
21.08.03, 18:07
danke Linuxrh7, werds mal versuchen!

Nico