Maison  >  Article  >  base de données  >  Où est placé le mot de passe pour MySQL ?

Où est placé le mot de passe pour MySQL ?

青灯夜游
青灯夜游original
2022-06-27 16:39:098588parcourir

Le mot de passe de mysql est placé dans le champ identifier_string de la table des autorisations utilisateur. La table utilisateur est la table d'autorisation la plus importante dans MySQL. Elle est utilisée pour enregistrer les informations de compte autorisées à se connecter au serveur. Lors de la modification du mot de passe de l'utilisateur, elle modifie en fait la valeur du champ chaîne d'authentification dans la table utilisateur. La syntaxe est "SET PASSWORD FOR 'username'@' hostname'=PASSWORD ("new password')".

Où est placé le mot de passe pour MySQL ?

L'environnement d'exploitation de ce tutoriel : système windows7, version mysql8, ordinateur Dell G3.

Le mot de passe de mysql est placé dans le champ identifier_string de la table des autorisations utilisateur.

La colonne utilisateur de la table des autorisations utilisateur MySQL

MySQL créera automatiquement une base de données nommée mysql lors de l'installation. Une fois l'utilisateur connecté, MySQL accordera les autorisations correspondantes à chaque utilisateur en fonction du contenu de ces tables d'autorisations.

La table utilisateur est la table d'autorisation la plus importante dans MySQL, utilisée pour enregistrer les informations de compte autorisées à se connecter au serveur. Il convient de noter que toutes les autorisations activées dans la table user sont globales et s'appliquent à toutes les bases de données.

Où est placé le mot de passe pour MySQL ?

Les champs de la table utilisateur peuvent être grossièrement divisés en 4 catégories, à savoir les colonnes utilisateur, les colonnes d'autorisation, les colonnes de sécurité et les colonnes de contrôle des ressources.

La colonne user stocke les informations que les utilisateurs doivent saisir lors de la connexion à la base de données MySQL.

Il convient de noter que la version MySQL 5.7 n'utilise plus Mot de passe comme champ de mot de passe, mais l'a remplacé par Authentication_string.

La liste des utilisateurs MySQL est présentée dans le tableau 1.

Tableau 1 : Colonne utilisateur de la table utilisateur
Nom du champ Type de champ Est-il vide Valeur par défaut Description
Hôte char(60) NON Aucun Nom d'hôte
Utilisateur char(32) NON Aucun Nom d'utilisateur
authentication_string text OUI Aucun Mot de passe

lorsque l'utilisateur se connecte, si ces trois champs correspondent en même temps, le système de base de données MySQL lui permettra de se connecter. Lors de la création d'un nouvel utilisateur, les valeurs de ces trois champs sont également définies. Lors de la modification du mot de passe d'un utilisateur, la valeur du champuthentication_string dans la table user est effectivement modifiée. Ainsi, ces 3 champs déterminent si l'utilisateur peut se connecter.

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. l'instruction SET pour changer le mot de passe de l'utilisateur testuser en "newpwd", l'instruction SQL et les résultats 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 d'exécution que l'instruction SET a été exécutée avec succès et le mot de passe de l'utilisateur testuser L'utilisateur testuser 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 possible. Comme le montrent les résultats en cours d'exécution, le changement de mot de passe est réussi.

【Recommandation associée : tutoriel vidéo 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Qu'est-ce qu'ODBC dans MySQLArticle suivant:Qu'est-ce qu'ODBC dans MySQL