Keine Anmeldung bei MySQL möglich

Irgendwelche Probleme mit XAMPP für Linux? Dann ist hier genau der richtige Ort um nachzufragen.

Keine Anmeldung bei MySQL möglich

Postby jeffc_denton » 12. March 2006 12:28

Ich habe folgendes Problem mit MySQL: Wenn ich einen neuen Benutzer anlege, dann kann ich mich nur am MySQL-Server anmelden, wenn ich dem Benutzer kein Passwort zuweise. Sobald ich ein Passwort für diesen Benutzer einrichte, kann ich mich nicht mehr anmelden.
Es ist auch egal wie ich die Benutzer anlege, ob mit phpMyAdmin oder mit mysql. Sobald ich Passwort für einen Benutzer vergeben wird, kann ich mich mit diesem Benutzer nicht mehr anmelden.
Komisch ist allerdings, dass die über "lampp security" gesetzten Passwörter für root und pma funktionieren.
An der Konfigurationsdateien hab ich nichts geändert, das ist alles noch original.

Hat mir jemand einen Tipp woran das liegt?
jeffc_denton
 
Posts: 4
Joined: 11. March 2006 16:06

Postby MPL » 12. March 2006 12:31

server neu startet...
MPL
 
Posts: 59
Joined: 12. February 2006 22:54

Postby jeffc_denton » 12. March 2006 12:39

Alles schon versucht. Kein Erfolg, geht trotzdem nicht.
jeffc_denton
 
Posts: 4
Joined: 11. March 2006 16:06

Immer noch dasselbe Problem

Postby jeffc_denton » 05. September 2006 18:08

Ich habe immer noch dasselbe Problem. Sobald ein MySQL-User ein Passwort zugewiesen bekommt, kann ich mich mit dem Benutzer nicht mehr anmelden.

Was mir noch aufgefallen ist, ist folgendes komische Verhalten:
Melde ich mich mit dem Benutzer jc über die Commandline bei mysql an (mysql -u jc) und will dann mittels "USE db" auf eine DB zugreifen, meldet MySQL "ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'".
Warum fehlt plötzlich der Benutzername, wo ich mich doch mit dem Benutzer jc angemeldet habe???

Der Benutzer jc besitzt übrigens alle Rechte und hat kein Passwort.
jeffc_denton
 
Posts: 4
Joined: 11. March 2006 16:06

Postby durroon » 06. September 2006 12:24

ich habe genau das gleiche problem. sobald man sich einloggt (ohne PW, trotz eigentlich vergebenem) hat man keine rechte mehr. ich bemüh mich um eine lösung. ich vermute, dass es an dem mysql-client liegt. falls ich das problem gelöst hab, post ich.

falls es jemand anders kennt, bitte auch posten :)
durroon
 
Posts: 6
Joined: 06. September 2006 12:20

Postby Wiedmann » 06. September 2006 12:28

jeffc_denton und durroon,
Was habt ihr denn alles für User in MySQL?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby durroon » 06. September 2006 12:32

alle, die nach der standard-install drin sind:
pma, root

und dann einen erstellt in PMA.
user1 (mit pw, is fr nen mitnutzer des servers)
durroon
 
Posts: 6
Joined: 06. September 2006 12:20

Postby durroon » 06. September 2006 12:45

update: es liegt definitiv am client.

ich habe mich jetz von meinem anderen rechern (win32) über die console eingeloggt, und siehe da, ich musste mich mit passwort authen. rechte hat man auch

die daraus resultierende frage: wie update ich denn den client, damit xampp ihn auch nutzt? reicht es wenn ich jetzt das pak mysql-client installiere (SuSe 10.1)?
durroon
 
Posts: 6
Joined: 06. September 2006 12:20

Postby Wiedmann » 06. September 2006 12:54

Eigentlich dachte ich da eher an das Ergebnis von:
Code: Select all
SELECT user, host, password = '' FROM mysql.user;
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby durroon » 06. September 2006 13:08

jo... deine abfrage hat folgendes ergeben:

Code: Select all
user      host      password = ''
-----------------------------
root      localhost   0
root      linux       0
          localhost   1
          linux       1
pma       localhost   0
user1      %          0
durroon
 
Posts: 6
Joined: 06. September 2006 12:20

Postby Wiedmann » 06. September 2006 13:21

Schön. Dann brauchst du jetzt erst einmal folgendes Kommando:

Code: Select all
DROP USER 'root'@'linux', ''@'localhost', ''@'linux';


Und anschliessend schaust du, ob dein User genügend Rechte hat, um Datenbanken zu sehen/benutzen:
Code: Select all
SHOW GRANTS FOR 'user1'@'%';
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby durroon » 06. September 2006 13:25

durroon wrote:update: es liegt definitiv am client.

ich habe mich jetz von meinem anderen rechern (win32) über die console eingeloggt, und siehe da, ich musste mich mit passwort authen. rechte hat man auch

die daraus resultierende frage: wie update ich denn den client, damit xampp ihn auch nutzt? reicht es wenn ich jetzt das pak mysql-client installiere (SuSe 10.1)?


er hat genug rechte, ich komm ja von nem anderen client drauf.
user hab ich gedropped.

edit: und danke für die schnellen antworten :)

edit2:
also jetzt bin ich verwundert. ist das ein bekannter bug? nach dem droppen der überflüssigen user läuft es wieder. woran liegt sowas?

danke für die hilfe! :)
durroon
 
Posts: 6
Joined: 06. September 2006 12:20

Postby Wiedmann » 06. September 2006 14:10

ist das ein bekannter bug?

Jein. Jedenfalls nicht in der Software. Aber es ist ein bekannter Bug, dass User nicht das Manual zu der Software die sie einsetzen lesen...

woran liegt sowas?

Im Prinzip ist das auf dieser Seite erklärt, wie es dazu kommt in deinem Fall.

Du hast dich in dem Fall wo es nicht ging mit dem User user1@localhost angemeldet. MySQL holt sich die sortierte Tabelle und hat theoretisch 2 Möglichkeiten:
Code: Select all
''@'localhost'
'user1'@'%'

Die Hostspalte wird zuerst verglichen und es gibt einen Match mit dem 1. Eintrag. Host stimmt genau überein und Name ist egal. Also wirst du tatsächlich mit dem Anonymous-User und dessen Rechte (normal keine) angemeldet.

In dem Fall wo es ging hast du dich mit dem User user1@windowsmaschine angemeldet. MySQL holt sich die sortierte Tabelle und hat nur eine Möglichkeit:
Code: Select all
'user1'@'%'

Die Hostspalte wird zuerst verglichen und da es nirgends den Eintrag "windowsmaschine" in der Hostspalte gibt, bleibt dieser übrig, da hier der Host ja egal ist und er User genau übereinstimmt. Also wirst du jetzt mit diesem User und dessen Rechte angemeldet.


Jetzt nach dem löschen der 2 Anonymous-User bleibt ja auch im ersten Fall user1@localhost nur dieser Eintrag übrig (genauso bei user1@windowsmaschine):
Code: Select all
'user1'@'%'

Host ist egal und User stimmt genau überein. Andere Eintrgäge wo passen gibt es jetzt nicht mehr:
Code: Select all
'root'@'localhost'
'pma'@'localhost'

Host würde passen, aber User stimmt nicht.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby durroon » 06. September 2006 14:14

das macht sinn! auf die idee bin ich leider nich gekommen. und weil es so komisch war, hab ich nen bug vermutet und nich nachgeschlagen.

also nochmal besten dank für deine hilfe!
durroon
 
Posts: 6
Joined: 06. September 2006 12:20

Postby jeffc_denton » 06. September 2006 15:07

Vielen Dank für die schnelle Hilfe! Es funktioniert nun.

Ich bin zwar nicht wie durroon von einem Bug ausgegangen, hatte mich bei der Suche im MySQL-Handbuch aber mehr auf die Fehlermeldung und Probleme bei der Anmeldung konzentriert. Und meistens ist es ja so, dass man die Lösung eigentlich die ganze Zeit vor Augen hat, sie aber einfach nicht erkennt. :D

Habt ihr euch überlegt, da ja dieses "Problem" standardmäßig besteht und sicher einige damit kämpfen, das Thema in die FAQs aufzunehmen?
jeffc_denton
 
Posts: 4
Joined: 11. March 2006 16:06


Return to XAMPP für Linux

Who is online

Users browsing this forum: No registered users and 2 guests