Warum kann sich dieser MySQL-Benutzer nicht mit einem Passwort anmelden?

8

In phpmyadmin habe ich einen Benutzer namens "edward" mit Passwort und allen Berechtigungen erstellt:

Geben Sie hier die Bildbeschreibung ein

Wenn ich mich jedoch über phpmyadmin anmelden möchte, wird "Kann mich nicht beim MySQL Server anmelden" angezeigt.

Wenn ich versuche, mich über die Befehlszeile anzumelden (Windows 7), kann ich auch Folgendes nicht tun: Geben Sie hier die Bildbeschreibung ein

Wenn ich mich jedoch ohne Passwort anmelde, erhalte ich Folgendes:

Geben Sie hier die Bildbeschreibung ein

und zeigt mir nur zwei der Tabellen.

Ich bin sicher, dass das Passwort korrekt ist und ich habe mehrere Benutzer erstellt, die sich nicht alle mit ihren Passwörtern anmelden können, egal wie viele Rechte ich ihnen gebe.

Wie kann ich diesen Benutzer dazu bringen, sich nur mit einem Passwort anzumelden und alle Datenbanken anzuzeigen?


Nachtrag:

Hier ist ein Screenshot von phpmyadmin, der zeigt, dass "edward" genauso viele Rechte hat wie "root":

Geben Sie hier die Bildbeschreibung ein

Edward Tanguay
quelle
Sind Sie sicher, dass Sie das Passwort festgelegt haben? Versuchen Sie es SET PASSWORD FOR 'edward'@'%' = PASSWORD( 'YOU PASSWORD HERE' ).
hellodanylo
ja, ich als root angemeldet und stellen Sie das Kennwort erneut mit diesem Befehl, aber ich kann immer noch nicht einloggen als edward, als ob es eine Art globaler Einstellung gegen in außer der Wurzel jeder Protokollierung ist, ich dies mit xampp installiert
Das gleiche passiert mir, und das Passwort wurde im Befehl create user korrekt festgelegt
santiago arizti

Antworten:

6

Weil Sie ihm Zugriff ohne Passwort gewährt haben ... Wenn ein Benutzer kein Passwort hat, schlägt die Anmeldung mit einem immer fehl.

Legen Sie das Kennwort für den Benutzer fest. Erst dann können Sie es verwenden-p

Darüber hinaus möchten Sie möglicherweise den AnyBenutzer entfernen .

Poncha
quelle
Ich habe ihm ein Passwort in phpmyadmin erteilt (wie im obigen Screenshot gezeigt), und an der Eingabeaufforderung habe ich mich erneut angemeldet und ihm ein Passwort erteilt, kann mich set password for 'edward'@'%' = password('test');aber immer noch nicht mit einem Passwort anmelden. Es ist, als ob das Passwort nicht ist gesetzt werden, wird aber als gesetzt
4
Ihr Screenshot zeigt % Host, von dem aus Sie jedoch darauf zugreifen localhost, was einen Unterschied macht. Sie haben dort wahrscheinlich ein anderes Stipendium, das mit jedem auf localhost übereinstimmt , ohne Passwort. Benutzer mit angegebenem Host ist stärkere Definition
Poncha
2
ok, ich habe es von %auf geändertlocalhost und jetzt kann ich mich anmelden, und wie Sie sagten, wenn ich den Eintrag "any user" entferne, kann ich ihn %in edward verwenden, danke.
Edward Tanguay
0

Möglicherweise haben Sie Berechtigungen für den Server erteilt, jedoch nicht für die Datenbanken. VersuchenGRANT ALL ON *.* TO 'edward' IDENTIFIED BY 'password'

Eugen Rieck
quelle
Ich habe mich als root angemeldet und das Passwort mit diesem Befehl für die Datenbank "test" und "edward" festgelegt, kann mich aber immer noch nicht als edward mit ihrem Passwort anmelden
Tut mir leid: Ich hätte es vermasseln sollen *.*, nicht *- ich habe meine Antwort bearbeitet.
Das funktioniert immer noch nicht, wie auf dem Bildschirm oben gezeigt. Der Benutzer
Edward
0

Das gleiche Problem konnte es nicht umsonst herausfinden. Die Datenbank wurde gelöscht, das Verzeichnis entfernt und unter Centos 6.3 neu installiert. Die Befehlszeile zeigt einige Daten an, die dann schnell gescrollt werden und das Problem für mich gelöst haben. Unten eingefügt.

Bitte denken Sie daran, ein Passwort für den MySQL-Root-Benutzer festzulegen!

Starten Sie dazu den Server und geben Sie die folgenden Befehle ein:

/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h cch-web-centos password 'new-password'

Alternativ können Sie Folgendes ausführen:

/usr/bin/mysql_secure_installation

Der letzte hat bei mir funktioniert. Ich habe ein Root-Passwort eingegeben und es hat tatsächlich funktioniert. Die Eingabe eines Root-Passworts mit mysqladmin ohne Ausführung dieses Skripts führte zu denselben Fehlern, die Edward gemeldet hatte. Führen Sie das Skript aus, beantworten Sie die Fragen, jetzt funktioniert die Verwendung des Root-Passworts, und die Anmeldung ohne das Passwort wird verweigert. Dieser hat mich auch verrückt gemacht. Ich habe MySQL oft installiert und dies ist das erste Mal, dass ich dieses Problem hatte. Ich bin mir nicht sicher, ob es eine Yum / Centos-Sache ist, wie bei Ubuntu und Fedora. Ich hatte dieses Problem nicht.

Armel
quelle