Heim  >  Artikel  >  Datenbank  >  Wo ist das Passwort für MySQL platziert?

Wo ist das Passwort für MySQL platziert?

青灯夜游
青灯夜游Original
2022-06-27 16:39:098658Durchsuche

Das Passwort von MySQL wird im Feld „authentication_string“ der Benutzerberechtigungstabelle abgelegt. Die Benutzertabelle ist die wichtigste Berechtigungstabelle in MySQL. Sie wird zum Aufzeichnen der Kontoinformationen verwendet, die eine Verbindung zum Server herstellen dürfen. Beim Ändern des Benutzerkennworts wird tatsächlich der Wert des Felds „authentication_string“ geändert Die Syntax lautet „SET PASSWORD FOR ‚Benutzername‘@‘Hostname‘=PASSWORD (‘neues Passwort‘)“.

Wo ist das Passwort für MySQL platziert?

Die Betriebsumgebung dieses Tutorials: Windows7-System, MySQL8-Version, Dell G3-Computer.

Das Passwort von MySQL wird im Feld „authentication_string“ der Benutzerberechtigungstabelle abgelegt.

Die Benutzerspalte der MySQL-Benutzerberechtigungstabelle

MySQL erstellt während der Installation automatisch eine Datenbank mit dem Namen MySQL. Die MySQL-Datenbank speichert Benutzerberechtigungstabellen. Nachdem sich der Benutzer angemeldet hat, erteilt MySQL jedem Benutzer entsprechende Berechtigungen basierend auf dem Inhalt dieser Berechtigungstabellen.

Die Benutzertabelle ist die wichtigste Berechtigungstabelle in MySQL und dient zum Aufzeichnen von Kontoinformationen, die eine Verbindung zum Server herstellen dürfen. Es ist zu beachten, dass alle in der Benutzertabelle aktivierten Berechtigungen global sind und für alle Datenbanken gelten.

Wo ist das Passwort für MySQL platziert?

Die Felder in der Benutzertabelle können grob in 4 Kategorien unterteilt werden, nämlich Benutzerspalten, Berechtigungsspalten, Sicherheitsspalten und Ressourcenkontrollspalten.

In der Spalte Benutzer werden die Informationen gespeichert, die Benutzer eingeben müssen, wenn sie eine Verbindung zur MySQL-Datenbank herstellen.

Es ist zu beachten, dass die MySQL-Version 5.7 nicht mehr „Password“ als Passwortfeld verwendet, sondern es in „authentication_string“ geändert hat.

Die MySQL-Benutzerliste ist in Tabelle 1 dargestellt.

Tabelle 1: Benutzerspalte der Benutzertabelle
Feldname Feldtyp Ist es leer Standardwert Beschreibung
Host char(60) NEIN Keine Hostname
Benutzer char(32) NEIN Keine Benutzername
Authentifizierungszeichenfolge Text JA Keine. Passwort

Wenn sich der Benutzer anmeldet, Wenn diese drei Felder gleichzeitig übereinstimmen, ermöglicht das MySQL-Datenbanksystem die Anmeldung. Beim Anlegen eines neuen Benutzers werden auch die Werte dieser drei Felder festgelegt. Beim Ändern des Benutzerkennworts ändert sich tatsächlich der Wert des Felds „authentication_string“ der Benutzertabelle. Diese 3 Felder bestimmen also, ob sich der Benutzer anmelden kann.

Verwenden Sie die SET-Anweisung, um das Passwort eines normalen Benutzers zu ändern

In MySQL kann nur der Root-Benutzer das Passwort ändern, indem er die MySQL-Datenbank aktualisiert. Nachdem Sie sich als Root-Benutzer beim MySQL-Server angemeldet haben, können Sie mit der SET-Anweisung das normale Benutzerkennwort ändern. Das Syntaxformat lautet wie folgt:

SET PASSWORD FOR 'username'@'hostname' = PASSWORD ('newpwd');

Unter diesen ist der Benutzername-Parameter der Benutzername eines normalen Benutzers, der Hostname-Parameter der Hostname eines normalen Benutzers und newpwd ist das neue Passwort, das geändert werden soll.

Hinweis: Das neue Passwort muss mit der Funktion PASSWORD() verschlüsselt werden. Wenn es nicht mit PASSWORD() verschlüsselt wird, wird es erfolgreich ausgeführt, der Benutzer kann sich jedoch nicht anmelden.

Wenn ein normaler Benutzer sein Passwort ändert, kann er die FOR-Klausel weglassen, um sein Passwort zu ändern. Das Syntaxformat lautet wie folgt:

SET PASSWORD = PASSWORD('newpwd');

Beispiel 1

Erstellen Sie zunächst einen Testbenutzer ohne Passwort. Die SQL-Anweisung und die Ausführungsergebnisse lauten wie folgt:

mysql> CREATE USER 'testuser'@'localhost';
Query OK, 0 rows affected (0.14 sec)

Nachdem sich der Root-Benutzer beim MySQL-Server angemeldet hat, verwenden Sie Die SET-Anweisung zum Ändern des Kennworts des Testbenutzerbenutzers in „newpwd“, die SQL-Anweisung und die laufenden Ergebnisse lauten wie folgt:

mysql> SET PASSWORD FOR 'testuser'@'localhost' = PASSWORD("newpwd");
Query OK, 0 rows affected, 1 warning (0.01 sec)

Aus den laufenden Ergebnissen ist ersichtlich, dass die SET-Anweisung erfolgreich ausgeführt wurde und das Kennwort des testuser user wurde erfolgreich auf „newpwd“ gesetzt.

Im Folgenden wird überprüft, ob das Testuser-Benutzerkennwort erfolgreich geändert wurde. Verlassen Sie den MySQL-Server, melden Sie sich als Testuser-Benutzer an und geben Sie das Passwort „newpwd“ ein. Die SQL-Anweisung und die Ausführungsergebnisse lauten wie folgt:

C:\Users\leovo>mysql -utestuser -p
Enter password: ******
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 15
Server version: 5.7.29-log MySQL Community Server (GPL)
 
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
 
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

Wie aus den Ausführungsergebnissen hervorgeht, hat sich der Testuser-Benutzer erfolgreich angemeldet und geändert das Passwort erfolgreich eingegeben.

Beispiel 2

Verwenden Sie den Benutzer testuser, um sich beim MySQL-Server anzumelden, und verwenden Sie dann die SET-Anweisung, um das Passwort in „newpwd1“ zu ändern. Die SQL-Anweisung und die Ausführungsergebnisse lauten wie folgt:

mysql> SET PASSWORD = PASSWORD('newpwd1');
Query OK, 0 rows affected, 1 warning (0.00 sec)

Wie möglich Aus den laufenden Ergebnissen ist ersichtlich, dass die Passwortänderung erfolgreich war.

【Verwandte Empfehlung: MySQL-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWo ist das Passwort für MySQL platziert?. 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
Vorheriger Artikel:Was ist ODBC in MySQL?Nächster Artikel:Was ist ODBC in MySQL?