PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MySQL verhält sich total strange



delmonico
05.01.05, 14:57
Hi ich hab Probleme mit meinem mysqld. Bislang ist die einzige Datenbank darin die vom Mediawiki. Selbiges funktioniert auch wunderbar. Wenn ich jetzt aber per mysql -u root auf MySQL zugreife, komme ich ohne Passwort rein obwohl definitiv eins gesetzt ist. Mit diesem Passwort kommt "access denied". Ich sehe ausschließlich die Tabelle test und habe keinerlei Rechte. Wenn ich mich mit dem mediawiki-user anmelden will, bekomme ich wieder Access denied... Aber wie gesagt: das wiki rennt demnach muss sich das php-script ja irgendwie da anmelden und die daten auslesen können... Bin total ratlos :/

edit: Ich kann mich sogar mit nutzernamen anmelden, dies garnicht gibt o_O

Basti
05.01.05, 21:10
Hallo delmonico,

MySQL verwaltet Userrechte pro Host, das heißt, dass der user root@localhost andere Zugriffsrechte haben kann als der user root@linuxuniversum (ist ein Beispiel, mein Rechner heißt nicht so). Das bedeutet aber auch weiterhin, dass es einen user root@irgendwas geben kann, der keinerlei Tabellenrechte oder auch kein Passwort (ist irgendwie default, zumindest kenne ich das nicht anders) hat.

Aus diesem Grund solltest Du mal auf der Konsole den Befehl "mysql" oder "mysqladmin" mit dem Schalter -h (--host) hostname probieren. Vielleicht hast Du einen Hostnamen vergeben, bei dem, wodurch auch immer, sich diese Zugriffsrechte ergeben.

Ansonsten würde ich MySQL mit webmin oder mysqlcc verwalten, die sind zwar grafisch, nichts für Puristen der Kommandozeile, die machen aber diese Eigenart ersichtlich.

Ich hoffe, etwas weitergeholfen zu haben.

Gruß Basti

delmonico
06.01.05, 11:54
Danke. Dieses Verhalten von MySQL ist mir bekannt und hier wirds dann richtig komisch: Der Webserver läuft auf dem selben Rechner ist also localhost. Mediawiki funktioniert, phpMyAdmin kann sich mit Passwort nicht anmelden, hat ohne keine Rechte also wie per Konsole :(

Kann ich die Benutzerrechte irgendwie auf default setzen ohne mich am mysql anzumelden?

delmonico
07.01.05, 14:08
hmmm mal pushen :/

Basti
07.01.05, 21:12
Hallo delmonico,

da die Rechteverwaltung vom MySQL in der Tabelle "mysql" erfolgt, welche wiederum selbst verschlüsselt ist, sieht es eigentlich schlecht aus, obwohl der User root so ohne weiteres seine Rechte nicht verlieren kann.

Du solltest jedoch als user "root", auch wenn ohne PW, die Rechte haben, Dir selbst Rechte zu geben. Versuche mal folgendes (Ich weiß nicht, was Du bisher an der Konsole gemacht hast!):
- Gehe in mysqladmin als root (ohne PW)
- "use mysql;" (als root sollte das gehen)
- "set password for root=password('irgendwas');" oder "update mysql.user (host, user, password) values ("host", "root", "password");
- ... und dann weiter mit phpMyAdmin oder vglb. Apps

Wenn das nicht geht bzw. du das auch schon erfolglos versucht hast, dann kommst Du als root wirklich nicht auf die DB "mysql", dann hilft nur Sichern der Datenfiles von wiki und Neuinstallation (1. MySQL, 2. Mediawiki mit anschließendem Austauschen der neuen wiki-Datenfiles gegen die alten).

Ich wünsche Dir Erfolg, ansonsten kann ich Dir auch nicht mehr helfen, sowas ist mir noch nicht passiert, da gehen mir auch die Ratschläge aus.

Gruß Basti