Verrouiller le compte utilisateur MySQL
Dans cet article, nous allons explorer comment nous pouvons verrouiller un compte lors de sa création ou comment utiliser la commande alter pour verrouiller un compte déjà existant.
Allons-y.
Verrouiller le compte utilisateur pendant la création
Il existe deux méthodes principales pour verrouiller un compte dans MySQL. La première est lors de la création du compte, comme le montre la syntaxe de la commande suivante :
CREATE USER username
IDENTIFIED BY ‘password’
ACCOUNT LOCK;Une fois qu'un compte est verrouillé, MySQL stocke l'entrée dans la table système mysql.user. La colonne account_locked stocke l'état de verrouillage avec Y représentant le compte verrouillé et N représentant un compte déverrouillé.
Verrouiller un compte déjà existant
La deuxième méthode pour verrouiller un compte dans MySQL consiste à utiliser la commande ALTER. Cela vous permet de verrouiller un compte déjà existant comme indiqué dans la syntaxe suivante :
ALTER USER username
IDENTIFIED BY ‘password’
ACCOUNT LOCK;Exemple 1 : Créer un compte verrouillé
L'exemple suivant montre comment créer un compte verrouillé en utilisant la déclaration de création d'utilisateur MySQL.
mysql> CREATE USER linux-console@localhost IDENTIFIED BY 'password' ACCOUNT LOCK;Nous pouvons alors vérifier le statut de verrouillage du compte comme indiqué ci-dessous :
mysql> select user, host, account_locked from mysql.user;La requête précédente devrait renvoyer les utilisateurs disponibles et leur état verrouillé comme indiqué dans la sortie suivante :
+------------------+-----------+----------------+
| user | host | account_locked |
+------------------+-----------+----------------+
| linux-console | localhost | Y |
| mysql.infoschema | localhost | Y |
| mysql.session | localhost | Y |
| mysql.sys | localhost | Y |
| root | localhost | N |
+------------------+-----------+----------------+
5 rows in set (0.00 sec)Nous pouvons voir dans la colonne account_locked que l'utilisateur “linux-console” est verrouillé.
Gardez à l'esprit que tenter de se connecter à un compte verrouillé entraîne une erreur comme montré dans ce qui suit :
mysql -u linux-console -p
Enter password: <>
ERROR 3118 (HY000): Access denied for user 'linux-console'@'localhost'. Account is locked.Exemple 2 : Verrouiller un compte existant
L'exemple suivant illustre comment verrouiller un compte existant en utilisant la commande ALTER USER.
Commencez par créer un compte comme suit :
mysql> CREATE USER linux@localhost IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.01 sec)Ensuite, verrouillez le compte avec la commande suivante :
mysql> ALTER USER linux@localhost ACCOUNT LOCK;
Query OK, 0 rows affected (0.01 sec)La commande précédente devrait verrouiller le compte spécifié.
Vous pouvez également vérifier le nombre de tentatives de connexion d'un compte verrouillé avec la commande suivante :
mysql> show global status like 'locked_connects';Exemple de sortie :
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| Locked_connects | 1 |
+-----------------+-------+
1 row in set (0.02 secPour débloquer un compte, exécutez la commande suivante :
ALTER USER username ACCOUNT UNLOCK;La commande change l'état verrouillé d'un compte spécifié pour le déverrouiller.
Conclusion
Dans cet article, nous avons discuté de la façon de verrouiller et de déverrouiller les comptes dans MySQL lors de la création d'un utilisateur ou dans un compte existant.
Merci de votre lecture !