2017-01-14 1 views
23

$ ./mysqladmin -u root -p '' geschwärzt
Passwort eingeben:MySQL Fehler:: root 'Zugriff verweigert für User '' @' localhost‘

mysqladmin: connect to server at 'localhost' failed error:
'Access denied for user 'root'@'localhost' (using password: YES)'

Wie kann ich repariere das?

+4

Mögliches Duplikat von [Zugriff verweigert für Benutzer 'root' @ 'localhost' (mit Passwort: YES) (Mysql :: Error)] (http://stackoverflow.com/questions/6081339/access-denied-for- user-rootlocalhost-using-password-yes-mysqlerror) – clearlight

Antwort

68
  1. öffnen & bearbeiten /etc/my.cnf
  2. hinzufügen skip-grant-tables unter [mysqld]
  3. Restart Mysql
  4. Sie sollten in der Lage anmelden jetzt MySQL die unter Befehl mysql -u root -p
  5. Run mysql> flush privileges;
  6. Set neuen Passwort von ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
  7. Zurück zum /etc/my.cnf und entfernen/Kommentar skip-grant-tables
  8. Restart Mysql
  9. Jetzt können Sie mit dem neuen Passwort anmelden mysql -u root -p
+4

Hallo, Ich hatte das gleiche Problem. Ich tat das oben, und es löst das Problem, aber jedes Mal, wenn ich CentOS neu starte, muss ich alle Schritte erneut tun (Ich erhielt die Nachricht: Zugriff verweigert für Benutzer 'root' @ 'localhost' (mit Passwort: NEIN) - wenn ich den Befehl mysql (oder irgendeinen sql Befehl) ausführe und ich wiederhole immer wieder alles wie oben bei jedem Neustart – Eitan

+1

Ich habe genau das gleiche Problem wie Eitan: –

+1

funktioniert wie ein Charme! Danke –

2

In Ihre MySQL Workbench können Sie in der linken Seitenleiste, unter Verwaltung wählen Sie "Benutzer und Berechtigungen", klicken Sie auf root unter Benutzerkonten, die im rechten Bereich klicken Sie auf "Konto Limits", um die maximale Abfragen, Updates, usw. zu erhöhen Klicken Sie auf den Tab "Administrative Rollen" und aktivieren Sie die Kontrollkästchen, um dem Konto Zugriff zu gewähren. Ich hoffe, das hilft!

2

Ich habe dies getan, um mein root-Passwort in der Ersteinrichtung von MySQL in OSx zu setzen. Öffnen Sie ein Terminal.

sudo sh -c 'echo /usr/local/mysql/bin > /etc/paths.d/mysql' 

Schließen Sie das Terminal und öffnen Sie ein neues Terminal. Und folgen in Linux, um Root-Passwort zu setzen.

sudo /usr/local/mysql/support-files/mysql.server stop 
sudo mysqld_safe --skip-grant-tables 

(sudo mysqld_safe --skip-grant-tables. Das ist nicht in erstem Mal für mich arbeiten, aber zweiten Versuch war voller Erfolg.)

Dann melde dich an MySQL

mysql -u root 

FLUSH PRIVILEGES; 

ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword'; 

Restart MySQL:

nun das Passwort ändern

sudo /usr/local/mysql/support-files/mysql.server stop 
sudo /usr/local/mysql/support-files/mysql.server start 
21

Alle Lösungen, die ich fand, waren viel komplexer als notwendig und keine funktionierte für mich. Hier ist die Lösung, die mein Problem gelöst hat. Sie müssen mysqld nicht neu starten oder mit speziellen Rechten starten.

sudo mysql 

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; 

Mit einer einzigen Abfrage ändern wir die auth_plugin zu mysql_native_password und Einstellen des Root-Passwort root(fühlen Sie sich frei, um es in der Abfrage zu ändern)

Jetzt sollten Sie in der Lage sein, sich mit root anzumelden. Weitere Informationen finden Sie in mysql documentation

(Ausfahrt mysql-Konsole mit Strg + D oder durch Eingabe Ausfahrt)

+2

Ich kann dies nicht tun ... "Sie haben einen Fehler in Ihrer SQL-Syntax; überprüfen Sie das Handbuch, das Ihrer MariaDB-Server-Version für die richtige Syntax in der Nähe von ... entspricht". – TCB13

+0

arbeitete für mich .. Danke. –

+0

Diese Antwort hat funktioniert, ich habe aus Versehen hinzugefügt, ist nicht nützlich Antwort Stimme, Entschuldigung! – taher

2

Für Ubuntu/Debian-Benutzer

Führen Sie den folgenden verbinden als root finden (ohne Passwort)

sudo /usr/bin/mysql --defaults-file=/etc/mysql/debian.cnf 
0

'Zugriff verweigert für Benutzer' root '@' localhost '(u sing password: YES) ' Dieser Fehler tritt nur auf, wenn Sie das Passwort kürzlich geändert haben, aber keine Änderungen in der Datei config.inc.php von phpmyadmin vorgenommen haben.

Also habe ich mein Problem gelöst, indem ich mein Passwort in /XAMPP/xamppfiles/phpmyadmin/config.inc.php Datei ändere.

Verwandte Themen