Maison > base de données > tutoriel mysql > le corps du texte

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

怪我咯
Libérer: 2017-07-05 11:17:25
original
1501 Les gens l'ont consulté

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;
Copier après la connexion

•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';
Copier après la connexion

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;
Copier après la connexion

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';
Copier après la connexion

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;
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!