Ich erhalte ständig diesen Fehler.
Ich verwende mySQL Workbench und stelle fest, dass die Schema-Berechtigungen von root null sind. Es gibt überhaupt keine Privilegien.
Ich habe plattformübergreifende Probleme, für die mein Server verwendet wird, und dies war plötzlich ein Problem.
[email protected] hat anscheinend viel Zugriff, aber ich bin als dieser angemeldet, aber es wird sowieso nur localhost zugewiesen - localhost hat keine Berechtigungen.
Ich habe ein paar Dinge zu erledigen wie FLUSH HOSTS
, FLUSH PRIVILEGES
, usw. , aber habe keinen Erfolg davon oder im Internet zu finden.
Wie kann ich den Root-Zugriff zurückbekommen? Ich finde das frustrierend, denn wenn ich mich umsehe, erwarten die Leute, dass Sie "Zugriff haben", aber ich habe keinen Zugriff, so dass ich nicht in die Befehlszeile gehen kann oder irgendetwas und GRANT
mich selbst irgendetwas.
Beim Laufen SHOW GRANTS FOR root
bekomme ich dafür eine Gegenleistung:
Fehlercode: 1141. Für den Benutzer 'root' auf dem Host '%' ist keine solche Berechtigung definiert.
quelle
SHOW GRANTS FOR root
eine Abfrage aus und veröffentlichen Sie das Ergebnis in Ihrer Frage.Antworten:
Verwenden Sie die Anweisungen zum Zurücksetzen des Root-Passworts. Anstatt das Root-Passwort zurückzusetzen, werden wir einen Datensatz zwangsweise in die Tabelle mysql.user einfügen
Verwenden Sie dies stattdessen in der Init-Datei
quelle
"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe" --defaults-file="C:\\Program Files\\MySQL\\MySQL Server 5.6\\my.ini" --init-file=C:\\mysql-init.txt
Alles ist dort, wo es sein soll, und was Sie oben haben, habe ich entsprechend in die Datei eingefügt. Ich habe den Dienst auch gestoppt. Ich bekomme gerade diese Ausgabe: prntscr.com/1ilxau Und alles (Plugins) heruntergefahren. Wirklich verwirrend.ERROR 1054 (42S22): Unknown column 'Password' in 'field list'
Fehler. @ AndyJonesWenn Sie das gleiche Problem in MySql 5.7 haben. +:
Dies liegt daran, dass MySql 5.7 standardmäßig die Verbindung mit dem Socket zulässt, was bedeutet, dass Sie nur eine Verbindung herstellen
sudo mysql
. Wenn Sie SQL ausführen:dann wirst du es sehen:
Um die Verbindung mit root und Kennwort zu ermöglichen, aktualisieren Sie die Werte in der Tabelle mit dem folgenden Befehl:
Führen Sie dann den Befehl select erneut aus und Sie werden sehen, dass er sich geändert hat:
Und das ist es. Sie können diesen Prozess ausführen, nachdem Sie den
sudo mysql_secure_installation
Befehl ausgeführt und ausgeführt haben.Verwenden Sie für Mariadb
Passwort setzen. Mehr bei https://mariadb.com/kb/en/set-password/
quelle
auth_socket
ummysql_native_password
mein Problem zu beheben. Danke dir!mysql_secure_installation
. Vielen Dank für diese Antwort.Es mochte mein Benutzerrecht nicht, also SUDO ich es. (in bash << sudo Benutzer und Passwort festlegen) (dies gibt den Benutzernamen von root an und setzt das Passwort auf nichts) (auf Mac)
quelle
Versuchen Sie die folgenden Befehle
quelle
sudo mysqld_safe
Habe mir das/var/run/mysqld for UNIX socket file don't exists
dann nachmkdir -p /var/run/mysqld
undsudo chown -R mysql:mysql /var/run/mysqld/
es hat funktioniert und den Daemon gestartet.für die Leute, die unter Fehler in MySQL 5.7+ Version konfrontiert sind -
Neues Terminal öffnen
sudo /etc/init.d/mysql stop
... MySQL Community Server 5.7.8-rc wird gestopptsudo mysqld_safe --skip-grant-tables &
Dadurch werden alle Berechtigungen auf Grant-Ebene übersprungen und die MySQL im abgesicherten Modus gestartet. Manchmal blieb der Prozess nur aufgrund von hängengrep: Schreibfehler: Pipe defekt 180102 11:32:28 mysqld_safe Protokollierung in '/var/log/mysql/error.log'.
Drücken Sie einfach Strg + Z oder Strg + C, um den Vorgang zu unterbrechen und zu beenden
mysql -u root
Willkommen beim MySQL-Monitor. Befehle enden mit; oder \ g. Ihre MySQL-Verbindungs-ID lautet 2 Server-Version: 5.7.8-rc MySQL Community Server (GPL)
Copyright (c) 2000, 2015, Oracle und / oder verbundene Unternehmen. Alle Rechte vorbehalten.
Oracle ist eine eingetragene Marke der Oracle Corporation und / oder ihrer verbundenen Unternehmen. Andere Namen können Marken ihrer jeweiligen Eigentümer sein.
Geben Sie 'help' ein. oder '\ h' um Hilfe. Geben Sie '\ c' ein, um die aktuelle Eingabeanweisung zu löschen.
use mysql;
Lesen von Tabelleninformationen zum Vervollständigen von Tabellen- und Spaltennamen Sie können diese Funktion deaktivieren, um einen schnelleren Start mit -A zu erhalten
Datenbank geändert
mysql>
update user set authentication_string=password('password') where user='root';
Abfrage OK, 4 Zeilen betroffen, 1 Warnung (0,03 Sek.) Übereinstimmende Zeilen: 4 Geändert: 4 Warnungen: 1mysql>
flush privileges;
Abfrage OK, 0 Zeilen betroffen (0,00 Sek.)mysql>
quit
Tschüsssudo /etc/init.d/mysql stop
..180102 11:37:12 mysqld_safe mysqld aus der PID-Datei /var/run/mysqld/mysqld.pid wurde beendet. * MySQL Community Server 5.7.8-rc wird gestoppt arif @ ubuntu: ~ $ sudo /etc/init.d/mysql start .. * MySQL Community Server 5.7.8-rc wird gestartet
mysql -u root -p
Passwort eingeben:
Willkommen beim MySQL-Monitor. Befehle enden mit; oder \ g. Ihre MySQL-Verbindungs-ID lautet 2 Server-Version: 5.7.8-rc MySQL Community Server (GPL)
Nach der Version MySQL 5.7+ wurde das Spaltenkennwort durch den Namen authentication_string aus der Tabelle mysql.user ersetzt.
Ich hoffe, diese Schritte helfen jedem, danke.
quelle
Ich habe Ubuntu 18 verwendet und einfach MySQL (Passwort: root) mit den folgenden Befehlen installiert.
Als ich versuchte, mich mit dem normalen Ubuntu-Benutzer anzumelden, warf ich dieses Problem auf.
Aber ich konnte mich über den Superuser bei MySQL anmelden. Mit den folgenden Befehlen konnte ich mich über einen normalen Benutzer anmelden.
Dann sollten Sie sich mit dem normalen Konto bei MySQL anmelden können.
quelle
Eine einfache Möglichkeit, das Root-Passwort auf Linux-Systemen zurückzusetzen:
Kasse einige andere Gründe für den Zugriff verweigert:
https://dev.mysql.com/doc/refman/5.7/en/problems-connecting.html
quelle
Wenn dieser Fehler in Workbench angezeigt wird, Sie sich jedoch vom Terminal aus anmelden können, führen Sie die folgenden Schritte aus.
Melden Sie sich zunächst einfach mit Ihrem aktuellen Passwort an:
Ändern Sie dann Ihr Passwort, da ein Passwort mit geringer Stärke manchmal zu Fehlern führt.
Beenden Sie dann einfach und melden Sie sich erneut mit Ihrem neuen Passwort an:
Wenn Sie sich erfolgreich angemeldet haben, geben Sie den folgenden Befehl ein:
Es sollte eine Meldung wie "Datenbank geändert" angezeigt werden. Geben Sie dann Folgendes ein:
Nach diesem Typ:
Geben Sie dann Folgendes ein:
Dann einfach beenden:
Versuchen Sie nun, sich mit Ihrem neuen Passwort in Ihrer WORKBENCH anzumelden. Hoffe es wird funktionieren. Danke dir.
quelle
Bei der Installation von Testlink auf einem Ubuntu-Server trat dieses Problem auf. Ich habe diese Schritte ausgeführt
Stoppen Sie nun die Instanz und starten Sie erneut, dh
quelle
Der einfachste Weg, das Root-Passwort zurückzusetzen, ist:
Starten Sie die Option mysqld --skip-grant-tables neu . Dies ermöglicht jedem, eine Verbindung ohne Passwort und mit allen Berechtigungen herzustellen. Da dies unsicher ist, möchten Sie möglicherweise --skip-grant-tables in Verbindung mit --skip-network verwenden, um zu verhindern, dass Remoteclients eine Verbindung herstellen.
Stellen Sie mit diesem Befehl eine Verbindung zum mysqld-Server her:
shell> mysql Geben Sie die folgenden Anweisungen im mysql-Client aus. Ersetzen Sie das Passwort durch das Passwort, das Sie verwenden möchten.
mysql> UPDATE mysql.user SET Password = PASSWORD ('MyNewPass') -> WHERE User = 'root'; mysql> FLUSH PRIVILEGES;
Stoppen Sie den Server und starten Sie ihn normal neu (ohne die Optionen --skip-grant-tables und --skip-network).
Quelle MySQL-Dokumentation und persönliche Erfahrung:
http://dev.mysql.com/doc/refman/5.6/en/resetting-permissions.html
quelle
In MySQL 5.7 wurde das Kennwortfeld durch authentication_string ersetzt, sodass Sie stattdessen so etwas tun würden
Siehe diesen Link MySQL-Benutzer-DB hat keine Kennwortspalten - Installation von MySQL unter OSX
quelle
Probieren Sie die folgenden Schritte aus, um dieses Problem zu beheben:
mysqld --console
.171010 14:58:22 [Note] --secure-file-priv
auf NULL gesetzt. Vorgänge zum Importieren und Exportieren von Daten werden deaktiviert, nachdem der obige Befehl an der Eingabeaufforderung ausgeführt wurde.mysqld
entweder von der Windows-Firewall oder einem anderen Programm blockiert wird.mysqld
odermysql
Anwendung Gehen Sie wie folgt vor:wf.msc
, um die Firewall-Einstellungen zu öffnen.mysqld
odermysqld
Instanzen in der Liste verfügbar sind, und aktivieren Sie das Kontrollkästchen für die öffentliche und private Domäne, und speichern Sie die Einstellungen.Es sollte jetzt möglich sein, die MySQL-Konsole ohne Probleme auszuführen!
quelle
Ich habe das gleiche Problem mit der nächsten SQL und dem Neustart des MySQL-Servers behoben:
quelle
Ich habe mehrere Stunden an Access Denied for User 'root' @ 'localhost' gearbeitet (mit Passwort: YES). Ich habe folgende Lösung gefunden:
quelle
Ich glaube nicht, dass Sie dem
--init-file
Parameter entkommen müssen :"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe" --defaults-file="C:\\Program Files\\MySQL\\MySQL Server 5.6\\my.ini" --init-file=C:\\mysql-init.txt
Sollte sein:
"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe" --defaults-file="C:\\Program Files\\MySQL\\MySQL Server 5.6\\my.ini" --init-file=C:\mysql-init.txt
quelle
Für das oben genannte Problem sollte Ihr Kennwort im System mit dem Kennwort übereinstimmen, das Sie im Programm übergeben haben, da es beim Ausführen des Programms das Kennwort des Systems überprüft, da Sie als Benutzer root angegeben haben, sodass Sie einen Fehler und gleichzeitig den Datensatz erhalten wird nicht aus der Datenbank gelöscht.
Behalten Sie Ihr Systemkennwort als jacob234 bei und führen Sie den Code aus.
quelle
Ich habe das gleiche Problem behoben, indem ich Workbench als Administrator ausgeführt habe.
... Ich denke, es liegt an Einschränkungen für Firmencomputer, in meinem Fall ...
quelle
Bei mir war das gleiche Problem, aber es wurde verursacht, weil ich den MySQL-Server auf 32 (Bit) verwendete und die Workbench auf 64 (Bit) -Version lief. Der Server und die Workbench müssen dieselbe Version haben.
xpress
quelle
Für mich benutzte ich MYSQLWorkbench und der Port war 3306 MAMP mit 8889
quelle
Ich hatte das gleiche Problem, als ich versuchte, eine MySQL-Datenbank mit der Laravel-Anwendung zu verbinden. Ich möchte empfehlen, bitte überprüfen Sie das Passwort für den Benutzer. Das MySQL-Passwort sollte keine Sonderzeichen wie # , & usw. enthalten.
quelle