root fait référence au super administrateur ; lorsque MySQL est installé, un utilisateur nommé root sera créé par défaut. Cet utilisateur dispose de super autorisations et peut contrôler l'ensemble du serveur MySQL. L'utilisateur root dispose d'autorisations très élevées et peut non seulement modifier son propre mot de passe, mais également modifier les mots de passe des autres utilisateurs.
L'environnement d'exploitation de ce tutoriel : système windows7, version mysql8, ordinateur Dell G3.
Dans MySQL, root fait référence au super-administrateur et le système sera par défaut un super-administrateur.
Lorsque MySQL est installé, un utilisateur nommé root sera créé par défaut. Cet utilisateur dispose de super privilèges et peut contrôler l'ensemble du serveur MySQL.
Dans la gestion et le fonctionnement quotidiens de MySQL, afin d'empêcher quelqu'un d'utiliser de manière malveillante l'utilisateur root pour contrôler la base de données, nous créons généralement des utilisateurs avec les autorisations appropriées et utilisons le moins possible l'utilisateur root pour se connecter. au système pour assurer la sécurité des données.
En général, les autorisations des super-administrateurs root sont bien supérieures à celles des utilisateurs ordinaires, donc certaines opérations nécessitent des autorisations root pour s'exécuter.
L'utilisateur root dispose d'autorisations très élevées et peut non seulement modifier son propre mot de passe, mais également les mots de passe des autres utilisateurs.
Dans MySQL, l'utilisateur root dispose d'autorisations très élevées, la sécurité du mot de passe de l'utilisateur root doit donc être assurée.
Modifier la table utilisateur de la base de données MySQL
Étant donné que toutes les informations de compte sont stockées dans la table utilisateur, vous pouvez changer le mot de passe de l'utilisateur root directement en modifiant la table utilisateur.
Une fois que l'utilisateur root s'est connecté au serveur MySQL, vous pouvez utiliser l'instruction UPDATE pour modifier le champ Authentication_string de la table utilisateur de la base de données MySQL afin de modifier le mot de passe de l'utilisateur.
Le format de syntaxe pour utiliser l'instruction UPDATA pour modifier le mot de passe de l'utilisateur root est le suivant :
UPDATE mysql.user set authentication_string = PASSWORD ("rootpwd) WHERE User = "root" and Host="localhost";
Le nouveau mot de passe doit être crypté à l'aide de la fonction PASSWORD(). Après avoir exécuté l'instruction UPDATE, vous devez exécuter l'instruction FLUSH PRIVILEGES pour recharger les autorisations utilisateur.
Exemple
Ce qui suit utilise l'instruction UPDATE pour changer le mot de passe de l'utilisateur root en "rootpwd2".
Après vous être connecté au serveur MySQL en tant qu'utilisateur root, l'instruction SQL et les résultats d'exécution sont les suivants :
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)
Les résultats montrent que le mot de passe a été modifié avec succès. Et l'instruction FLUSH PRIVILEGES; est utilisée pour charger les autorisations. Après vous être déconnecté, vous devez vous connecter avec un nouveau mot de passe.
Utilisez l'instruction SET pour changer le mot de passe de l'utilisateur root
L'instruction SET PASSWORD peut être utilisée pour réinitialiser le mot de passe de connexion d'autres utilisateurs ou le mot de passe du compte que vous utilisez. La structure syntaxique de l'utilisation de l'instruction SET pour changer le mot de passe est la suivante :
SET PASSWORD = PASSWORD ("rootpwd");
Exemple
Ce qui suit utilise l'instruction SET pour changer le mot de passe de l'utilisateur root en "rootpwd3".
Après vous être connecté au serveur MySQL en tant qu'utilisateur root, l'instruction SQL et les résultats d'exécution sont les suivants :
MySQL> SET PASSWORD = password ("rootpwd3"); Query OK, 0 rows affected (0.00 sec)
Les résultats montrent que l'instruction SET a été exécutée avec succès et que le mot de passe de l'utilisateur root a été défini avec succès sur "rootpwd3".
Utilisez l'instruction SET pour changer le mot de passe d'un utilisateur ordinaire
Dans MySQL, seul l'utilisateur root peut modifier le mot de passe en mettant à jour la base de données MySQL. Après vous être connecté au serveur MySQL en tant qu'utilisateur root, vous pouvez utiliser l'instruction SET pour modifier le mot de passe de l'utilisateur ordinaire. Le format de syntaxe est le suivant :
SET PASSWORD FOR 'username'@'hostname' = PASSWORD ('newpwd');
Parmi eux, le paramètre username est le nom d'utilisateur d'un utilisateur ordinaire, le paramètre hostname est le nom d'hôte d'un utilisateur ordinaire et newpwd est le nouveau mot de passe à modifier.
Remarque : Le nouveau mot de passe doit être crypté à l'aide de la fonction PASSWORD(). S'il n'est pas crypté à l'aide de PASSWORD(), il sera exécuté avec succès, mais l'utilisateur ne pourra pas se connecter.
Si un utilisateur ordinaire modifie son mot de passe, il peut omettre la clause FOR pour changer son mot de passe. Le format de syntaxe est le suivant :
SET PASSWORD = PASSWORD('newpwd');
Exemple 1
Créez d'abord un utilisateur test sans mot de passe. L'instruction SQL et les résultats d'exécution sont les suivants :
mysql> CREATE USER 'testuser'@'localhost'; Query OK, 0 rows affected (0.14 sec)
Une fois que l'utilisateur root s'est connecté au serveur MySQL, utilisez le SET. pour changer le mot de passe de l'utilisateur testuser en "newpwd", l'instruction SQL et les résultats en cours d'exécution sont les suivants :
mysql> SET PASSWORD FOR 'testuser'@'localhost' = PASSWORD("newpwd"); Query OK, 0 rows affected, 1 warning (0.01 sec)
Il peut être vu à partir des résultats en cours d'exécution que l'instruction SET a été exécutée avec succès, et le mot de passe de l'utilisateur test L'utilisateur a été défini avec succès sur « newpwd ».
Ce qui suit vérifie si le mot de passe de l'utilisateur testuser a été modifié avec succès. Quittez le serveur MySQL, connectez-vous en tant qu'utilisateur testuser et entrez le mot de passe "newpwd". L'instruction SQL et les résultats d'exécution sont les suivants :
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.
Comme le montrent les résultats d'exécution, l'utilisateur testuser s'est connecté avec succès et a changé. le mot de passe avec succès.
Exemple 2
Utilisez l'utilisateur testuser pour vous connecter au serveur MySQL, puis utilisez l'instruction SET pour changer le mot de passe en "newpwd1". L'instruction SQL et les résultats d'exécution sont les suivants :
mysql> SET PASSWORD = PASSWORD('newpwd1'); Query OK, 0 rows affected, 1 warning (0.00 sec)
Comme on peut le voir. à partir des résultats d'exécution, le mot de passe a été modifié avec succès.
Utilisez l'instruction UPDATE pour changer le mot de passe d'un utilisateur ordinaire
Après vous être connecté au serveur MySQL en tant qu'utilisateur root, vous pouvez utiliser l'instruction UPDATE pour modifier le champ Authentication_string de la table utilisateur de la base de données MySQL pour changer le mot de passe d'un utilisateur ordinaire. La syntaxe de l'instruction UPDATA est la suivante :
UPDATE MySQL.user SET authentication_string = PASSWORD("newpwd") WHERE User = "username" AND Host = "hostname";
Parmi eux, le paramètre username est le nom d'utilisateur de l'utilisateur ordinaire, le paramètre hostname est le nom d'hôte de l'utilisateur ordinaire et newpwd est le nouveau mot de passe à modifier.
Notez qu'après avoir exécuté l'instruction UPDATE, vous devez exécuter l'instruction FLUSH PRIVILEGES pour recharger les autorisations utilisateur.
Exemple 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视频教程】
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!