Heim >Datenbank >MySQL-Tutorial >Warum hat meine MySQL-Tabelle „mysql.user' unter macOS keine „Passwort'-Spalte?
Diskrepanz in den Passwortspalten der MySQL-Benutzertabelle unter OS Die Spalte „Passwort“ ist in der Tabelle „mysql.user“ nicht vorhanden. Dies kann verwirrend sein, da das Feld „Passwort“ normalerweise mit dem Speichern von Benutzerpasswörtern in der MySQL-Datenbank verknüpft ist.
Der Grund für diese Diskrepanz ist, dass in MySQL 5.7 die Spalte „Passwort“ aus der Spalte „Passwort“ entfernt wurde. mysql.user“-Tabelle hinzugefügt und durch die Spalte „authentication_string“ ersetzt. Diese Änderung wurde vorgenommen, um die Sicherheit zu erhöhen, indem Passwörter mit einem neueren und sichereren Hashing-Algorithmus gespeichert werden.Um das MySQL-Root-Passwort unter macOS mit MySQL 5.7 zu ändern, befolgen Sie diese Schritte:Öffnen Sie ein Terminalfenster und geben Sie den folgenden Befehl ein, um über die Befehlszeile „mysql“ eine Verbindung zu MySQL herzustellen Client:
mysql -uroot -p
ALTER TABLE mysql.user ADD authentication_string TEXT;Aktualisieren Sie das Passwort des MySQL-Root-Benutzers durch Setzen Sie die Spalte „authentication_string“ mit dem folgenden Befehl auf das neue Passwort:
UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE user='root';Löschen Sie die MySQL-Berechtigungen, um die Änderungen zu übernehmen:
FLUSH PRIVILEGES;Beenden Sie den MySQL-Client:
exitDas sollten Sie jetzt tun Sie können sich mit dem neuen Root-Passwort bei MySQL anmelden. Mit dieser Änderung können Sie die Sicherheit Ihrer MySQL-Installation erhöhen und gleichzeitig die Funktionalität der Benutzerpasswortverwaltung beibehalten.
Das obige ist der detaillierte Inhalt vonWarum hat meine MySQL-Tabelle „mysql.user' unter macOS keine „Passwort'-Spalte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!