Heim >Datenbank >MySQL-Tutorial >Warum hat meine MySQL-Tabelle „mysql.user' unter macOS keine „Passwort'-Spalte?

Warum hat meine MySQL-Tabelle „mysql.user' unter macOS keine „Passwort'-Spalte?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-29 10:20:10738Durchsuche

Why Doesn't My MySQL `mysql.user` Table Have a `password` Column on macOS?

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:
  1. Geben Sie Ihr aktuelles MySQL-Root-Passwort ein, wenn Sie dazu aufgefordert werden.
    mysql -uroot -p
  2. Wenn die Spalte „authentication_string“ in der Tabelle „mysql.user“ nicht vorhanden ist, Erstellen Sie es mit dem folgenden Befehl:
  3. 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:
  4. UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE user='root';
    Löschen Sie die MySQL-Berechtigungen, um die Änderungen zu übernehmen:
  5. FLUSH PRIVILEGES;
    Beenden Sie den MySQL-Client:
  6. exit
    Das 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn