Maison > Article > base de données > Explication graphique détaillée de la gestion des droits des utilisateurs MySQL
UtilisateurGestion des autorisations a principalement les fonctions suivantes :
1. Vous pouvez 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. Oui Restreindre l'adresse IP ou le nom de domaine permettant aux utilisateurs de se connecter
4 Vous pouvez limiter si les propres autorisations de l'utilisateur peuvent être accordées à d'autres utilisateurs
1.
mysql> grant all privileges on *.* to 'yangxin'@'%' identified by 'yangxin123456' with grant option;
•tous les privilèges : signifie accorder toutes les autorisations à l'utilisateur. Vous pouvez également spécifier des autorisations spécifiques, 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, écrire "*" ici signifie toutes les bases de données et toutes les tables. table utilisateur de la bibliothèque de test, Elle peut s'écrire comme ceci : test.user
•pour : Accorder l'autorisation à quel utilisateur Format : "Nom d'utilisateur"@"IP de connexion ou nom de domaine. " % signifie aucune restriction, sur n'importe quel hôte. Vous pouvez vous connecter. 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 : Spécifiez le mot de passe de connexion de l'utilisateur
•avec option d'octroi : signifie que les utilisateurs sont autorisés à autoriser leurs autorisations à d'autres utilisateurs
Vous pouvez utiliser GRANT pour ajouter des autorisations aux utilisateurs, et les autorisations seront automatiquement superposées aux 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 le. l'utilisateur disposera des autorisations SELECT et INSERT. Veuillez fournir la liste des autorisations pour les détails de l'utilisateur. Reportez-vous aux instructions du site Web officiel de MySQL : http://dev.mysql.com/doc/refman/5.7/en/. privilèges-provided.html
2. Actualiser les autorisations
Après avoir modifié les autorisations de l'utilisateur, assurez-vous de recharger les autorisations et écrivez les informations d'autorisation de la mémoire dans la base de données mysql> vider les privilèges ;
3. >
4. Recycler les autorisations
mysql> grant select,create,drop,update,alter on *.* to 'yangxin'@'localhost' identified by 'yangxin0917' with grant option; mysql> show grants for 'yangxin'@'localhost';Supprimer l'autorisation de création de l'utilisateur yangxin Cet utilisateur ne pourra pas
créer des bases de données.
et tableaux.
mysql> révoquer la création sur *.* de 'yangxin@localhost';
mysql> vider les privilèges; >
6. 🎜>
shell> renommer l'utilisateur 'test3'@'%' en 'test1'@'%';
Changer le mot de passe
1> Mettre à jour la table mysql.user
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';
2> Syntaxe :
définir le mot de passe pour 'nom d'utilisateur'@'adresse de connexion'=password('password')
mysql> définir le mot de passe pour 'root'@'localhost'=password('123456');
3> mysqladmin
Syntaxe :
mysqladmin -u Nom d'utilisateur -p ancien mot de passe mot de passe nouveau mot de passe
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;mysqladmin -uroot -p123456 mot de passe 1234abcd
Remarque :
mysqladmin se trouve dans le répertoire bin du répertoire d'installation mysql
Mot de passe oublié
1> Ajouter la configuration de vérification des autorisations de saut de connexion
Modifier my.cnf et configurer le nœud dans mysqld Ajouter la configuration de saut-grant-tables
[mysqld]
skip-grant-tables
2> Redémarrer le service mysql
shell> redémarrage du service mysqld
3> mot de passe
À l'heure actuelle, aucun mot de passe utilisateur n'est requis lors de la connexion avec la commande mysql sur le terminal, puis suivez la première méthode de modification du mot de passe. Vous pouvez modifier le mot de passe de cette manière.
4> Restaurer l'autorisation de connexion ignorer la configuration de vérification
Configurer les tables de saut de subvention du nœud mysqld dans my.cnf Supprimez-le, puis redémarrez le service.
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!