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.