• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

MySQl für Windows UND Linux

roemi

Advanced Hacker
Fehlermeldung phpMyAdmin:

Willkommen bei phpMyAdmin 2.5.6

phpMyAdmin hat versucht eine Verbindung zum MySQL-Server aufzubauen, jedoch hat dieser die Verbindung zurückgewiesen. Sie sollten Ihre Einstellungen für Host, Benutzername und Kennwort in Ihrer config.inc.php überprüfen und sich vergewissern, dass diese den Informationen, welche sie vom Administrator erhalten haben, entsprechen.

Fehler

MySQL meldet:
#2002 - Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)

mysql-log=

050729 20:06:51 mysqld ended

050729 20:06:54 mysqld started
050729 20:06:54 [Warning] Setting lower_case_table_names=2 because file system for /media/stick/mysql/data/ is case insensitive
050729 20:06:54 InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.
050729 20:06:54 mysqld ended

In Verwendung:

phpMyAdmin 2.5.6 / MySQL 4.1.10a

Ich transportiere auf meinem Stick alle Verzeichnisse, MySQL-BD's und phpMyAdmin ist ebenfalls installiert. So spare ich mir das ewige synchronisieren.
Wenn ich diesen Stick an XP anschließe und Apache neu starte, funzt alles.
Wenn ich das gleiche an meiner Suse 9.3 mache, kommt es zu oben beschriebenem Fehler.

Wenn ich in der my.cnf "datadir=/media/stick/mysql/data" mit # auf ungültig setze und MySQL neu starte dann klappt alles wieder.

Vermutlich habe ich die Antwort bereits gepostet, sehe den Wald aber vor lauter Bäume nicht mehr. :wink:
 

panamajo

Guru
roemi schrieb:
MySQL meldet:
#2002 - Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)

[...]

Wenn ich in der my.cnf "datadir=/media/stick/mysql/data" mit # auf ungültig setze und MySQL neu starte dann klappt alles wieder.
[/quote]

Welche Rechte gelten für das Verzeichnis /media/stick/mysql/data?
Ich denke mal die werden mit User Rechten gemountet und da darf der mysql User nix.
 
OP
roemi

roemi

Advanced Hacker
Shit, doch was vergessen.

Du hast recht : "Die Rechte"

Auf dem Stick gehören Sie "root" und normal gehören sie "mysql".

Die Rechte auf dem Stick lassen sich aber nicht anpassen :lol: (wahrscheinlich doch ...oder)
 
OP
roemi

roemi

Advanced Hacker
Dann habe ich aber das Problem das ich immer für den neusten Stand sorgen muss.
Und das vor und nach der Arbeit.
Mounten tue ich nicht als "Root".

Aber unter Windows erstellt Dateien gehören "Root".

Ich glaube ich erstelle mal eine DB unter Linux, kopiere sie auf den Stick (dann sollte sei immernoch "mysql" gehören) öffne sie unter Windows und schaue ob ich sie dann wieder unter Linux zum laufen bekomme.
 

nobbiew

Hacker
Es kommt etwas spät, aber ich hoffe es hilft doch noch:

Fat bzw Fat32-Dateisystem kennen keinen Eigentümer. Der Fehler liegt definitiv am mounten

mount -o uid=mysql,exec,rw /DEVICE /MOUNTPOINT

sollte helfen.
ggf. musst du noch gid=mysql mit hinzufügen.
 
OP
roemi

roemi

Advanced Hacker
Du kommst nicht zu spät.
Das es am mounten liegen muss, so weit ware wir heute bereits.
Dann aber war Schluß.

Das check ich doch nachher gleich ab. Cool, Danke dir.
Ich melde mich und sag "Bescheid" wenn's klappt.
 
OP
roemi

roemi

Advanced Hacker
Ähhhhh ...
ich hab da doch nochmal eine Frage:

Da ich manuell mounte und mir hierfür Icons auf dem Desktop erstellt habe und eine Kamera benutze und diese am gleichen USB hängt wie der Stick ... gibt es in meiner Fstab folgenden Eintrag
/dev/sda1 /media/stick auto noauto,rw,exec,users 0 0

wenn ich nun den Mountbefehl von nobbiew nehme, umbaue und ZUSÄTZLICH einfüge, bekomme ich einen Fehler (/media/Hau... nicht in FStab gefunden ...).

Das ist der Mountbefehl:
mount -o uid=mysql,exec,rw /dev/sda1 /media/hausnetz

und ZUSÄTZLICH einbauen wollte ich ihn so:
/dev/sda1 /media/hausnetz auto noauto,-o uid=mysql,exec,rw 0 0

Ändere ich ihn auf:
/dev/sda1 /media/hausnetz auto noauto,rw,exec,mysql 0 0
Lautet die Meldung "nur Root kann ...."

Gibt es eine Möglichkeit?
 

nobbiew

Hacker
In deinem ersten Versuch ist ein kleiner Fehler drin:

nicht "-o uid=..." sondern nur "uid=..."

Wenn nun der Benutzer das Recht zum mounten haben soll muss noch die option users in spalte 4 dazukommen. Übrigens darf in der 4. Spalte kein Leerzeiche,Tab, etc vorkommen, denn das sind die Spaltentrenner für mount. Alles was in Spalte 4 steht kannst auf der kommandozeile auch mit der Option -o angeben.

Der Eintrag in der /etc/fstab sollte folgendermaßen aussehen:

Code:
/dev/sda1 /media/hausnetz auto noauto,rw,exec,uid=mysql,users 0 0


Noch ne kleine Erklärung zum exec (über den stolpere ich immer wieder). Wenn man dem Benutzer mit users das mounten erlaubt ist es standardmäßig nicht möglich in diesem Dateisystem Programme auszufürhen, obwohl die Ausführrechte gesetzt sind. Dafür muss dann zusätzlich noch exec angegeben werden. Der Fehler ist tückisch, da bei Shellscripten die Meldung besagt, der Skriptinterpreter sei falsch. Drum erwähn ich dass lieber noch mal.
 
OP
roemi

roemi

Advanced Hacker
Mist, jetzt hab ich alles zum teten fertig und nun liegt der Stick im falschen Büro. Arrrrrgh. :?

Morgen!
 
OP
roemi

roemi

Advanced Hacker
Sodele, getestet. Alles gehört "mysql" von der Grppe "root".

Jetzt funktioniert zwar alles nur kann ich als "michael" von der Gruppe "users" die Dateien nicht mehr ändern. :(
 

nobbiew

Hacker
dann noch gid=users und irgendwie kannst du auch die Maskte für die Schutzrechte ändern, aber ich kann grad nicht nachschauen. Schau dir mal die manpage zu mount an. Da steht alles drin.
 
Oben