Maison  >  Article  >  base de données  >  MySQL Advanced Seventeen - Octroi d'autorisation de compte MySQL

MySQL Advanced Seventeen - Octroi d'autorisation de compte MySQL

黄舟
黄舟original
2016-12-29 17:03:141693parcourir

1. Fonction et signification

Le système d'autorisation mysql est principalement utilisé pour vérifier les autorisations des utilisateurs connectés à la base de données afin de déterminer si l'utilisateur est un utilisateur légal, s'il s'agit d'un utilisateur légal. vous êtes un utilisateur légal, vous recevrez les autorisations de base de données correspondantes.

2. Afficher les utilisateurs de la base de données actuelle

mysql> select host,user,password from user;
+-----------+------+-------------------------------------------+
| host      | user | password                                  |
+-----------+------+-------------------------------------------+
| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| 127.0.0.1 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+-----------+------+-------------------------------------------+
2 rows in set (0.04 sec)

3. Application d'autorisation MySQL

1 Instructions pour l'utilisation de la commande GRANT

Commençons par regardez un exemple, créez un test de super utilisateur qui autorise uniquement la connexion locale et permet d'accorder des autorisations à d'autres utilisateurs. Le mot de passe est 123456

GRANT ALL PRIVILEGES ON *.* TO test@'localhost' IDENTIFIED BY 'test@feihong.111' WITH GRANT OPTION;

Description de la commande GRANT :

TOUS. PRIVILEGES signifie toutes les autorisations, vous pouvez également utiliser les autorisations mentionnées dans les autorisations de sélection, de mise à jour et autres.

ON est utilisé pour spécifier les bibliothèques et les tables ciblées par les autorisations. Le * devant

*.* est utilisé pour spécifier le nom de la base de données, et le * à la fin est utilisé pour spécifier le nom de la table.

TO signifie accorder des autorisations à un utilisateur.

test@'localhost' signifie utilisateur feihong, @ est suivi de l'hôte restreint, qui peut être IP, segment IP, nom de domaine et %, % signifie n'importe où. Remarque : certaines versions ici n'incluent pas le local. Dans le passé, j'ai configuré un utilisateur pour autoriser la connexion depuis n'importe où, mais je ne peux pas me connecter localement. Si vous rencontrez ce problème, ajoutez un utilisateur localhost. il.

IDENTIFIED BY spécifie le mot de passe de connexion de l'utilisateur.

AVEC OPTION D'OCTROIEMENT Cette option indique que l'utilisateur peut accorder ses autorisations à d'autres. Remarque : Souvent, les utilisateurs ne spécifient pas WITH GRANT OPTION lors de la création d'un utilisateur opérationnel, ce qui empêche l'utilisateur d'utiliser la commande GRANT pour créer des utilisateurs ou autoriser d'autres utilisateurs.

Remarque : vous pouvez utiliser GRANT pour ajouter à plusieurs reprises des autorisations à l'utilisateur, et les autorisations sont superposées. Par exemple, si vous ajoutez d'abord une autorisation de sélection à l'utilisateur, puis ajoutez une autorisation d'insertion à l'utilisateur, alors l'utilisateur aura à la fois les autorisations de sélection et d'insertion.

2. Vérifiez les autorisations de l'utilisateur

show grants for 'root'@'localhost'

3. Supprimer l'utilisateur

Pour supprimer un utilisateur, vous devez non seulement supprimer le nom de l'utilisateur, mais également le supprimer. autorisations dont dispose l'utilisateur.

Veillez à ne pas utiliser DELETE pour supprimer directement un utilisateur, car les autorisations de l'utilisateur ne sont pas supprimées après la suppression à l'aide de DELETE, et les autorisations précédentes seront héritées lorsqu'un nouvel utilisateur portant le même nom est créé. La bonne méthode consiste à utiliser la commande DROP USER pour supprimer l'utilisateur. Par exemple, pour supprimer l'utilisateur 'webuser'@'192.168.100.%', utilisez la commande suivante :

drop user 'user'@'192.168.100.%';  
drop user 'user'@'%'

4. Changez le mot de passe du compte

définissez le mot de passe pour 'nom du compte'@'%'=password('new password');

Ce qui précède est le contenu de MySQL Advanced Seventeen - Autorisations du compte MySQL. Pour plus de contenu connexe, veuillez prêter attention au site Web PHP chinois (www.php.cn) !


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