MySQL-Benutzer-DB hat keine Passwortspalten - Installation von MySQL unter OSX
Ich versuche mich zu ändern, MySql Passwort für root.
Was ich gemacht habe, ist unten.
- Installieren Sie MySql-5.7.6 ~ .dmg(Community-Server) und workbench.
- Schalten Sie den server auf OSX System preferences".
- Zugriff auf MySql-Konsole. Der Befehl war
mysqld_safe --skip-grant
- Ausführen
update user set password=password('1111') where user='root';
und bekam eine Fehlermeldung -->ERROR 1054 (42S22): Unknown column 'password' in 'field list'
.
FYI, ich habe use mysql;
.
Also ich habe select-Abfrage auf die Tabelle user und gefunden Passwort Spalte, die tatsächlich nicht vorhanden ist.
Ist es sehr seltsam. Ist es möglich, dass die ursprüngliche Benutzer-Tabelle keine Spalte password?
Wie kann ich das Passwort ändern, das nicht existiert?
Danke für deine Antwort 😀
Kommentar zu dem Problem
Jetzt Teste ich wieder und ich kann auf MySQL zugreifen ohne PW 🙁 Ist es in Ordnung zu ändern (ich meine ändern user-Tabelle und fügen Sie Passwort-Spalte per Abfrage) der Tabelle user?
SET PASSWORD for root@localhost = password('neues-Passwort') - funktioniert für alle mysql-Versionen
InformationsquelleAutor der Frage Juneyoung Oh | 2015-06-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
In MySQL 5.7, das Passwort-Feld in mysql.user-Tabelle-Feld entfernt wurde, ist nun der name des Feldes ist 'authentication_string'.
Wählen Sie zuerst die Datenbank:
Und dann zeigen die Tabellen:
Finden Sie die user-Tabelle, schauen wir uns jetzt die Felder:
Surprise!Es gibt kein Feld namens "Passwort" das Passwort-Feld ist mit dem Namen 'authentication_string'. Also, nur dazu:
Nun, alles wird in Ordnung sein.
Im Vergleich zu MySQL 5.6, die änderungen sind Recht umfangreich: Was ist Neu in MySQL 5.7
InformationsquelleAutor der Antwort nodejh
Einem Falle, ich fiel in ist, gibt es kein Passwort-Feld nun wurde es umbenannt, so:
update user set password=PASSWORD("YOURPASSWORDHERE") where user='root';
Sollte jetzt sein:
update user set authentication_string=password('YOURPASSWORDHERE') where user='root';
InformationsquelleAutor der Antwort John C
Verwenden Sie die
ALTER USER
Befehl, anstatt zu versuchen, zu aktualisierenUSER
Zeile. Denken Sie daran, dass es vielleicht mehr als ein 'root' - Benutzer, denn Benutzer Personen qualifiziert sind, die auch von der Maschine aus, die Sie verbindenhttps://dev.mysql.com/doc/refman/5.7/en/alter-user.html
Zum Beispiel.
InformationsquelleAutor der Antwort
Danke für Eure Hilfe. Nur für den Fall, wenn die Leute immer noch Probleme haben, versuchen Sie dies.
For MySQL version 5.6 und unter
Haben Sie vergessen, Ihre Mac-OS-X - 'ROOT' - Passwort und müssen es zurücksetzen? Befolgen Sie diese 4 einfachen Schritten:
Von einem terminal aus:
sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
sudo /usr/local/mysql/bin/mysql -u root
UPDATE mysql.user SET Password=PASSWORD('NewPassword') WHERE User='root';
FLUSH PRIVILEGES;
\q
Für MySQL-version 5.7 und bis
'System Prefrences' > MySQL > 'Stop MySQL Server'
Von einem terminal aus:
sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
sudo /usr/local/mysql/bin/mysql -u root
UPDATE mysql.user SET authentication_string=PASSWORD('NewPassword') WHERE User='root';
FLUSH PRIVILEGES;
\q
InformationsquelleAutor der Antwort eli
Dieser Fehler tritt auf, wenn Sie nicht das Kennwort auf installieren, in diesem Fall die mysql über einen unix-socket-plugin.
Aber wenn löschen Sie den plugin-link-Einstellungen (Tabelle mysql.- Anwender) andere problem. Dies behebt nicht das problem und schafft ein weiteres problem. Zum fixieren der gelöschte link und legen Sie ein Passwort ("PWD") tun:
1) Führen Sie mit
--skip-grant-tables
wie oben schon gesagt.Wenn es nicht funktioniert, dann fügen Sie die Zeichenfolge
skip-grant-tables
im Abschnitt[mysqld]
von/etc/mysql/mysql.conf.d/mysqld.cnf
. Dann tunsudo service mysql restart
.2) Führen Sie
mysql -u root -p
, dann (ändern Sie "PWD"):dann
sudo service mysql restart
. Check:mysql -u root -p
.Bevor
restart
entfernen Sie die Zeichenfolge aus der Datei mysqld.cnf, wenn Sie es dort.InformationsquelleAutor der Antwort bl79
Es funktioniert nur mit mir, wenn ich "geleert" nach den Befehlen hier. Hier ist die vollständige Liste der Befehle die ich verwendet habe:
Vorherigen Antworten funktioniert möglicherweise nicht für eine spätere mysql-Versionen. Versuchen Sie diese Schritte aus, wenn die vorherigen Antworten nicht für Sie funktioniert:
1 - Klicken Sie auf das xampp-Symbol > mysql > mysql-Konsole
2 schreiben Sie folgende Befehle nacheinander
InformationsquelleAutor der Antwort Amgad
Für dieses problem, ich habe eine einfache und unhöflich Methode, benennen Sie das Feld name, das Passwort, der Grund dafür ist, dass ich die mac-navicat premium software in der visual operation error: Unknown column 'Passwort' in 'field List ', die software selbst nutzt ein Passwort, so dass ich nicht leicht zu bedienen.
Deshalb habe ich root in die Datenbank Befehlszeile ausführen
Dann ändern Sie das Feld name:
Nachdem alle normal.
InformationsquelleAutor der Antwort luyishisi