root bezieht sich auf den Superadministrator; bei der Installation von MySQL wird standardmäßig ein Benutzer namens root erstellt, der über Superberechtigungen verfügt und den gesamten MySQL-Server steuern kann. Der Root-Benutzer verfügt über sehr hohe Berechtigungen und kann nicht nur sein eigenes Passwort, sondern auch die Passwörter anderer Benutzer ändern.
Die Betriebsumgebung dieses Tutorials: Windows7-System, MySQL8-Version, Dell G3-Computer.
In MySQL bezieht sich root auf den Superadministrator, und das System verwendet standardmäßig einen Superadministrator.
Bei der Installation von MySQL wird standardmäßig ein Benutzer namens root erstellt. Dieser Benutzer verfügt über Superprivilegien und kann den gesamten MySQL-Server steuern.
Um zu verhindern, dass jemand den Root-Benutzer in böswilliger Absicht zur Steuerung der Datenbank verwendet, erstellen wir bei der täglichen Verwaltung und dem Betrieb von MySQL normalerweise einige Benutzer mit entsprechenden Berechtigungen und verwenden den Root-Benutzer so wenig oder so wenig wie möglich zum Anmelden zum System, um den sicheren Zugriff zu gewährleisten.
Im Allgemeinen sind die Berechtigungen von Root-Superadministratoren viel größer als die von normalen Benutzern, sodass für die Ausführung einiger Vorgänge Root-Berechtigungen erforderlich sind.
Der Root-Benutzer verfügt über sehr hohe Berechtigungen und kann nicht nur sein eigenes Passwort ändern, sondern auch die Passwörter anderer Benutzer.
In MySQL verfügt der Root-Benutzer über sehr hohe Berechtigungen, daher muss die Sicherheit des Root-Benutzerpassworts gewährleistet sein.
Ändern Sie die Benutzertabelle der MySQL-Datenbank
Da alle Kontoinformationen in der Benutzertabelle gespeichert sind, können Sie das Passwort des Root-Benutzers direkt ändern, indem Sie die Benutzertabelle ändern.
Nachdem sich der Root-Benutzer beim MySQL-Server angemeldet hat, können Sie mit der UPDATE-Anweisung das Feld „authentication_string“ der Benutzertabelle der MySQL-Datenbank ändern, um das Kennwort des Benutzers zu ändern.
Das Syntaxformat für die Verwendung der UPDATA-Anweisung zum Ändern des Root-Benutzerpassworts lautet wie folgt:
UPDATE mysql.user set authentication_string = PASSWORD ("rootpwd) WHERE User = "root" and Host="localhost";
Das neue Passwort muss mit der Funktion PASSWORD() verschlüsselt werden. Nachdem Sie die UPDATE-Anweisung ausgeführt haben, müssen Sie die FLUSH PRIVILEGES-Anweisung ausführen, um die Benutzerberechtigungen neu zu laden.
Beispiel
Im Folgenden wird die UPDATE-Anweisung verwendet, um das Passwort des Root-Benutzers in „rootpwd2“ zu ändern.
Nachdem Sie sich mit dem Root-Benutzer beim MySQL-Server angemeldet haben, lauten die SQL-Anweisung und die Ausführungsergebnisse wie folgt:
mysql> UPDATE mysql.user set authentication_string = password ("rootpwd2") -> WHERE User = "root" and Host = "localhost"; Query OK, 1 row affected, 0 warning (0.00 sec) Rows matched: 1 Changed: 1 Warnings:0 mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.06 sec)
Die Ergebnisse zeigen, dass das Passwort erfolgreich geändert wurde. Und die FLUSH PRIVILEGES;-Anweisung wird zum Laden von Berechtigungen verwendet. Nach der Abmeldung müssen Sie sich mit einem neuen Passwort anmelden.
Verwenden Sie die SET-Anweisung, um das Passwort des Root-Benutzers zu ändern
Die SET PASSWORD-Anweisung kann verwendet werden, um das Anmeldepasswort anderer Benutzer oder das Passwort des von Ihnen verwendeten Kontos zurückzusetzen. Die Syntaxstruktur der Verwendung der SET-Anweisung zum Ändern des Kennworts lautet wie folgt:
SET PASSWORD = PASSWORD ("rootpwd");
Beispiel
Im Folgenden wird die SET-Anweisung verwendet, um das Kennwort des Root-Benutzers in „rootpwd3“ zu ändern.
Nachdem Sie sich als Root-Benutzer beim MySQL-Server angemeldet haben, lauten die SQL-Anweisung und die Ausführungsergebnisse wie folgt:
MySQL> SET PASSWORD = password ("rootpwd3"); Query OK, 0 rows affected (0.00 sec)
Die Ergebnisse zeigen, dass die SET-Anweisung erfolgreich ausgeführt wurde und das Passwort des Root-Benutzers erfolgreich auf „rootpwd3“ gesetzt wurde.
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 ist wie folgt:
SET PASSWORD = PASSWORD('newpwd');
Beispiel 1
Erstellen Sie zunächst einen Testbenutzer-Benutzer 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 SET Anweisung zum Ändern des Kennworts des Testbenutzerbenutzers in „newpwd“, die SQL-Anweisung und die Ausführungsergebnisse lauten wie folgt:
mysql> SET PASSWORD FOR 'testuser'@'localhost' = PASSWORD("newpwd"); Query OK, 0 rows affected, 1 warning (0.01 sec)
Aus den Ausführungsergebnissen ist ersichtlich, dass die SET-Anweisung erfolgreich ausgeführt wurde, und das Kennwort des Testbenutzers Benutzer 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 laufenden Ergebnisse lauten wie folgt:
mysql> SET PASSWORD = PASSWORD('newpwd1'); Query OK, 0 rows affected, 1 warning (0.00 sec)
Wie zu sehen ist Aus den laufenden Ergebnissen geht hervor, dass das Passwort erfolgreich geändert wurde.
Verwenden Sie die UPDATE-Anweisung, um das Passwort eines normalen Benutzers zu ändern.
Nachdem Sie sich als Root-Benutzer beim MySQL-Server angemeldet haben, können Sie mit der UPDATE-Anweisung das Feld „authentication_string“ der Benutzertabelle der MySQL-Datenbank ändern Ändern Sie das Passwort eines normalen Benutzers. Die Syntax der UPDATA-Anweisung lautet wie folgt:
UPDATE MySQL.user SET authentication_string = PASSWORD("newpwd") WHERE User = "username" AND Host = "hostname";
Unter diesen ist der Benutzername-Parameter der Benutzername des normalen Benutzers, der Hostname-Parameter der Hostname des normalen Benutzers und newpwd ist das neue Passwort, das geändert werden soll.
Beachten Sie, dass Sie nach der Ausführung der UPDATE-Anweisung die FLUSH PRIVILEGES-Anweisung ausführen müssen, um die Benutzerberechtigungen neu zu laden.
Beispiel 3
使用 root 用户登录 MySQL 服务器,再使用 UPDATE 语句将 testuser 用户的密码修改为“newpwd2”的 SQL 语句和运行结果如下:
mysql> UPDATE MySQL.user SET authentication_string = PASSWORD ("newpwd2") -> WHERE User = "testuser" AND Host = "localhost"; Query OK, 1 row affected, 1 warning (0.07 sec) Rows matched: 1 Changed: 1 Warnings: 1 mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.03 sec)
由运行结果可以看出,密码修改成功。testuser 的密码被修改成了 newpwd2。使用 FLUSH PRIVILEGES 重新加载权限后,就可以使用新的密码登录 testuser 用户了。
使用 GRANT 语句修改普通用户密码
除了前面介绍的方法,还可以在全局级别使用 GRANT USAGE 语句指定某个账户的密码而不影响账户当前的权限。需要注意的是,使用 GRANT 语句修改密码,必须拥有 GRANT 权限。一般情况下最好使用该方法来指定或修改密码。语法格式如下:
GRANT USAGE ON *.* TO 'user'@’hostname’ IDENTIFIED BY 'newpwd';
其中,username 参数是普通用户的用户名,hostname 参数是普通用户的主机名,newpwd 是要更改的新密码。
示例 4
使用 root 用户登录 MySQL 服务器,再使用 GRANT 语句将 testuser 用户的密码修改为“newpwd3”,SQL 语句和运行结果如下:
mysql> GRANT USAGE ON *.* TO 'testuser'@'localhost' IDENTIFIED BY 'newpwd3'; Query OK, 0 rows affected, 1 warning (0.05 sec)
由运行结果可以看出,密码修改成功。
【相关推荐:mysql视频教程】
Das obige ist der detaillierte Inhalt vonWas ist MySQL-Root?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!