In phpmyadmin habe ich einen Benutzer namens "edward" mit Passwort und allen Berechtigungen erstellt:
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:
Wenn ich mich jedoch ohne Passwort anmelde, erhalte ich Folgendes:
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":
quelle
SET PASSWORD FOR 'edward'@'%' = PASSWORD( 'YOU PASSWORD HERE' )
.Antworten:
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
Any
Benutzer entfernen .quelle
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%
Host, von dem aus Sie jedoch darauf zugreifenlocalhost
, 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%
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.Möglicherweise haben Sie Berechtigungen für den Server erteilt, jedoch nicht für die Datenbanken. Versuchen
GRANT ALL ON *.* TO 'edward' IDENTIFIED BY 'password'
quelle
*.*
, nicht*
- ich habe meine Antwort bearbeitet.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:
Alternativ können Sie Folgendes ausführen:
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.
quelle