L'exemple de cet article fonctionne sur MySQL 5.0 et supérieur.
Le format simple de la commande d'autorisation utilisateur MySQL peut être résumé comme suit :
grant 权限 on 数据库对象 to 用户
Recommandations d'apprentissage associées : Tutoriel vidéo MySQL
1. Accordez aux utilisateurs de données ordinaires le droit d'interroger, d'insérer, de mettre à jour et de supprimer toutes les données des tables de la base de données.
grant select on testdb.* to common_user@'%' grant insert on testdb.* to common_user@'%' grant update on testdb.* to common_user@'%' grant delete on testdb.* to common_user@'%'
Ou utilisez plutôt une commande MySQL :
grant select, insert, update, delete on testdb.* to common_user@'%'
2. Autorisez le développeur de base de données à créer des tables, des index, des vues, des procédures stockées et des fonctions. . . et d'autres autorisations.
accorder l'autorisation de créer, modifier et supprimer les structures de tables de données MySQL.
grant create on testdb.* to developer@'192.168.0.%'; grant alter on testdb.* to developer@'192.168.0.%'; grant drop on testdb.* to developer@'192.168.0.%';
grant exploite les autorisations de clé étrangère MySQL.
grant references on testdb.* to developer@'192.168.0.%';
accorde l'autorisation d'utiliser les tables temporaires MySQL.
grant create temporary tables on testdb.* to developer@'192.168.0.%';
accorde l'autorisation d'utiliser les index MySQL.
grant index on testdb.* to developer@'192.168.0.%';
accorde l'autorisation d'utiliser les vues MySQL et d'afficher le code source.
grant create view on testdb.* to developer@'192.168.0.%'; grant show view on testdb.* to developer@'192.168.0.%';
accorde l'autorisation d'utiliser les procédures et fonctions stockées MySQL.
grant create routine on testdb.* to developer@'192.168.0.%'; -- now, can show procedure status grant alter routine on testdb.* to developer@'192.168.0.%'; -- now, you can drop a procedure grant execute on testdb.* to developer@'192.168.0.%';
3. accorder l'autorité d'un administrateur de base de données ordinaire pour gérer une base de données MySQL.
grant all privileges on testdb to dba@'localhost'
Parmi eux, le mot-clé « privilèges » peut être omis.
4. Accordez au DBA senior le pouvoir de gérer toutes les bases de données dans MySQL.
grant all on *.* to dba@'localhost'
5. Les autorisations d'octroi MySQL peuvent être appliquées à plusieurs niveaux.
1. Grant fonctionne sur l'ensemble du serveur MySQL :
grant select on *.* to dba@localhost; -- dba 可以查询 MySQL 中所有数据库中的表。 grant all on *.* to dba@localhost; -- dba 可以管理 MySQL 中的所有数据库
2. Grant fonctionne sur une seule base de données :
grant select on testdb.* to dba@localhost; -- dba 可以查询 testdb 中的表。
3. table Ci-dessus :
grant select, insert, update, delete on testdb.orders to dba@localhost;
Ici, lors de l'autorisation de plusieurs tables à un utilisateur, l'instruction ci-dessus peut être exécutée plusieurs fois. Par exemple :
grant select(user_id,username) on smp.users to mo_user@'%' identified by '123345'; grant select on smp.mo_sms to mo_user@'%' identified by '123345';
4. Grant travaille sur les colonnes du tableau :
grant select(id, se, rank) on testdb.apache_log to dba@localhost;
5. Grant travaille sur les procédures stockées et les fonctions :
grant execute on procedure testdb.pr_add to 'dba'@'localhost' grant execute on function testdb.fn_add to 'dba'@'localhost'
6. Autorisations de l'utilisateur MySQL
Afficher les autorisations de l'utilisateur (auto) actuel :
show grants;
Afficher les autres autorisations de l'utilisateur MySQL :
show grants for dba@localhost;
7. La révocation a été accordée à Autorisations pour les autorisations des utilisateurs MySQL.
revoke a une syntaxe similaire à accorder, remplacez simplement le mot-clé "to" par "from":
grant all on *.* to dba@localhost; revoke all on *.* from dba@localhost;
8 Grant MySQL, révoquer les autorisations utilisateur Notes .
1. Après avoir accordé et révoqué les autorisations utilisateur, l'utilisateur doit se reconnecter à la base de données MySQL pour que les autorisations prennent effet.
2. Si vous souhaitez que des utilisateurs autorisés accordent ces autorisations à d'autres utilisateurs, vous avez besoin de l'option "accorder l'option"
grant select on testdb.* to dba@localhost with grant option;
Cette fonctionnalité n'est généralement pas utilisée. En pratique, il est préférable que les autorisations de base de données soient gérées de manière uniforme par l'administrateur de base de données.
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!