Maison  >  Article  >  base de données  >  Explication détaillée des exemples de gestion des droits des utilisateurs MySQL

Explication détaillée des exemples de gestion des droits des utilisateurs MySQL

怪我咯
怪我咯original
2017-07-05 11:17:251512parcourir

Cet article présente principalement les informations pertinentes de l'utilisateur MySQL Gestion des autorisations en détail. Les amis intéressés peuvent se référer à

La gestion des autorisations utilisateur a principalement les fonctions suivantes :
1. peut restreindre les bibliothèques et les tables auxquelles les utilisateurs peuvent accéder
2. Vous pouvez restreindre les tables que les utilisateurs peuvent effectuer SELECT, CREATE, DELETE, DELETE, ALTER et d'autres opérations
3. Vous pouvez restreindre la connexion utilisateur. IP ou nom de domaine
4. Vous pouvez limiter si les propres autorisations de l'utilisateur peuvent être autorisées à d'autres utilisateurs

1 Autorisation de l'utilisateur

Le code est le suivant. :

mysql> grant all privileges on *.* to 'yangxin'@'%' identified by 'yangxin123456' with grant option;

•tous les privilèges : signifie accorder tous les privilèges à l'utilisateur. Des autorisations spécifiques peuvent également être spécifiées, telles que : SELECT, CREATE, DROP, etc.
•on : indique pour quelles bases de données et tables ces autorisations sont efficaces, format : nom de la base de données nom de la table, l'écriture de "*" indique ici toutes les bases de données et toutes les tables. Si je souhaite spécifier les autorisations à appliquer à la table utilisateur de la bibliothèque de test, je peux écrire : test.user
•à : Accorder des autorisations à quel utilisateur. Format : "Nom d'utilisateur"@"IP de connexion ou nom de domaine". % signifie qu'il n'y a aucune restriction et que vous pouvez vous connecter depuis n'importe quel hôte. Par exemple : "yangxin"@"192.168.0.%" signifie que l'utilisateur yangxin ne peut se connecter que dans le segment IP 192.168.0
•identifié par : Précisez le mot de passe de connexion de l'utilisateur
•avec option d'octroi : signifie permettre aux utilisateurs d'accorder leurs autorisations à d'autres utilisateurs

peuvent utiliser GRANT pour ajoutez des autorisations aux utilisateurs, les autorisations seront automatiquement superposées et n'écraseront pas les autorisations précédemment accordées. Par exemple, si vous ajoutez d'abord une autorisation SELECT à l'utilisateur, puis ajoutez une autorisation INSERT à l'utilisateur, alors l'utilisateur aura à la fois SELECT et. INSÉRER les autorisations.

Pour la liste des autorisations des détails de l'utilisateur, veuillez vous référer aux instructions du site officiel de MySQL : http://dev.mysql.com/doc/refman/5.7/en/privileges-provided .html


2. Actualiser les autorisations

Après avoir modifié les autorisations de l'utilisateur, assurez-vous de n'oubliez pas de recharger les autorisations et de modifier les autorisations. Les informations sont écrites de la mémoire dans la base de données.

mysql> vider les privilèges ;

3. Afficher les autorisations des utilisateurs

Le code est le suivant :

mysql> grant select,create,drop,update,alter on *.* to 'yangxin'@'localhost' identified by 'yangxin0917' with grant option;
mysql> show grants for 'yangxin'@'localhost';

4. Récupérer les autorisations

Supprimer l'autorisation de création de l'utilisateur yangxin Cet utilisateur ne pourra pas créer. bases de données et tables. > renommer l'utilisateur 'test3'@'%' en 'test1'@'%';

mysql> revoke create on *.* from 'yangxin@localhost';
mysql> flush privileges;

7. Changer le mot de passe

mysql> select host,user from user;
+---------------+---------+
| host   | user |
+---------------+---------+
| %    | root |
| %    | test3 |
| %    | yx  |
| 192.168.0.% | root |
| 192.168.0.% | test2 |
| 192.168.0.109 | test |
| ::1   | yangxin |
| localhost  | yangxin |
+---------------+---------+
8 rows in set (0.00 sec)
mysql> drop user 'yangxin'@'localhost';

1> ; Mettre à jour la table mysql.user

2> Utiliser la commande set password

Syntaxe : définir le mot de passe pour 'nom d'utilisateur'@'adresse de connexion'=password('password')

mysql> 123456') ;
mysql> use mysql;
# mysql5.7之前
mysql> update user set password=password('123456') where user='root';
# mysql5.7之后
mysql> update user set authentication_string=password('123456') where user='root';
mysql> flush privileges;

3> mysqladmin

Syntaxe :

mysqladmin -u nom d'utilisateur -p ancien mot de passe password Nouveau mot de passe

mysql> mysqladmin -uroot -p123456 password 1234abcd

Remarque : mysqladmin est situé dans la corbeille de mysql installation

répertoire Répertoire

8. Mot de passe oublié

1> >

Modifiez my.cnf et ajoutez la configuration skip-grant-tables dans le nœud de configuration mysqld[mysqld]skip-grant-tables

2> Redémarrer le service mysql

shell> redémarrage du service mysqld

3>

Pour le moment, le mot de passe utilisateur n'est pas requis lors de la connexion avec la commande mysql sur le terminal, et vous pouvez ensuite modifier le mot de passe selon la première méthode de modification du mot de passe.

4> Restaurez les autorisations de connexion et ignorez la vérification de la configuration

Supprimez la configuration skip-grant-tables du nœud mysqld dans my.cnf, puis redémarrer le service C'est tout.

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