L'instruction GRANT peut être utilisée pour ajouter des autorisations aux utilisateurs dans MySQL. La syntaxe est "GRANT type d'autorisation ON valeur de niveau d'autorisation TO user [IDENTIFIED BY 'Password'] [WITH clause];" où le paramètre "user" représente. le compte utilisateur et le format est " 'nom d'utilisateur'@'nom d'hôte'".
L'environnement d'exploitation de ce tutoriel : système windows7, version mysql8, ordinateur Dell G3.
Dans MySQL, vous pouvez utiliser l'instruction GRANT pour autoriser les utilisateurs et augmenter leurs autorisations.
Le format de syntaxe est le suivant :
GRANT priv_type [(column_list)] ON database.table TO user [IDENTIFIED BY 'password'] [WITH with_option [with_option]...]
où :
le paramètre priv_type indique le type d'autorisation ;
le paramètrecolumns_list indique les colonnes auxquelles l'autorisation s'applique. Lorsque ce paramètre est omis, cela signifie qu'il s'applique. la table entière ;
database.table est utilisée pour spécifier le niveau d'autorisation ; le paramètre
user représente le compte utilisateur, qui est composé du nom d'utilisateur et du nom d'hôte, et le format est "'nom d'utilisateur'@. 'hostname'" ; le paramètre
IDENTIFIED BY est utilisé pour L'utilisateur définit un mot de passe ; le paramètre
password est le nouveau mot de passe de l'utilisateur.
Les autorisations qui peuvent être accordées dans MySQL sont les suivantes :
Les autorisations de colonne sont liées à une colonne spécifique du tableau. Par exemple, vous pouvez utiliser l'instruction UPDATE pour mettre à jour les autorisations sur la valeur de la colonne name dans la table des étudiants.
Les autorisations de table sont liées à toutes les données d'une table spécifique. Par exemple, vous pouvez utiliser l'instruction SELECT pour interroger les autorisations pour toutes les données de la table des étudiants.
Les autorisations de base de données sont liées à toutes les tables d'une base de données spécifique. Par exemple, vous pouvez créer de nouvelles tables dans la base de données mytest existante.
Les autorisations utilisateur sont liées à toutes les bases de données dans MySQL. Par exemple, vous pouvez supprimer une base de données existante ou créer une nouvelle base de données.
En conséquence, les valeurs qui peuvent être utilisées pour spécifier les niveaux d'autorisation dans l'instruction GRANT ont les formats suivants :
* : représente toutes les tables de la base de données actuelle.
*.* : Représente toutes les tables de toutes les bases de données.
db_name.* : Indique toutes les tables d'une base de données, db_name spécifie le nom de la base de données.
db_name.tbl_name : Représente une table ou une vue dans une base de données, db_name spécifie le nom de la base de données, tbl_name spécifie le nom de la table ou le nom de la vue.
db_name.routine_name : Représente une procédure stockée ou une fonction dans une base de données, routine_name spécifie le nom de la procédure stockée ou le nom de la fonction.
Clause TO : si l'autorisation est accordée à un utilisateur qui n'existe pas, MySQL exécutera automatiquement une instruction CREATE USER pour créer l'utilisateur, mais un mot de passe doit être défini pour l'utilisateur.
Dans MySQL, seuls les utilisateurs disposant des autorisations GRANT peuvent exécuter des instructions GRANT.
Exemple :
Utilisez l'instruction GRANT pour créer un nouvel utilisateur testUser avec le mot de passe testPwd. L'utilisateur testUser dispose d'autorisations de requête et d'insertion sur toutes les données et dispose des autorisations GRANT.
mysql> GRANT SELECT,INSERT ON *.* -> TO 'testUser'@'localhost' -> IDENTIFIED BY 'testPwd' -> WITH GRANT OPTION; Query OK, 0 rows affected, 1 warning (0.05 sec)
Utilisez l'instruction SHOW GRANTS pour interroger les autorisations de l'utilisateur testUser, comme indiqué ci-dessous.
Connaissances étendues : description du type d'autorisation
1) Lors de l'octroi d'autorisations de base de données, 2) Lors de l'octroi d'autorisations de table, CREATE USER : indique que l'utilisateur accordé peut créer et supprimer de nouvelles autorisations d'utilisateurs. SHOW DATABASES : indique que l'utilisateur est autorisé à utiliser l'instruction SHOW DATABASES pour afficher les définitions de toutes les bases de données existantes. 【Recommandations associées :
Nom de l'autorisation
correspond au champ de la table utilisateur
Description
SELECT
Select_priv
signifie accorder à l'utilisateur l'autorisation d'utiliser l'instruction SELECT pour accéder à toutes les tables et vues d'une base de données spécifique.
INSERT
Insert_priv
signifie accorder à l'utilisateur l'autorisation d'ajouter des lignes de données à toutes les tables d'une base de données spécifique à l'aide de l'instruction INSERT.
DELETE
Delete_priv
signifie accorder à l'utilisateur l'autorisation de supprimer des lignes de données de toutes les tables d'une base de données spécifique à l'aide de l'instruction DELETE.
UPDATE
Update_priv
signifie accorder à l'utilisateur l'autorisation de mettre à jour les valeurs de toutes les tables de données dans une base de données spécifique à l'aide de l'instruction UPDATE.
REFERENCES
References_priv
signifie accorder à l'utilisateur l'autorisation de créer des clés étrangères pointant vers des tables dans une base de données spécifique.
CREATE
Create_priv
représente l'autorisation qu'un utilisateur autorisé peut utiliser pour créer une nouvelle table dans une base de données spécifique à l'aide de l'instruction CREATE TABLE.
ALTER
Alter_priv
signifie accorder à l'utilisateur l'autorisation de modifier toutes les tables de données dans une base de données spécifique à l'aide de l'instruction ALTER TABLE.
SHOW VIEW
Show_view_priv
signifie accorder à l'utilisateur l'autorisation d'afficher les définitions de vue des vues existantes dans une base de données spécifique.
CREATE ROUTINE
Create_routine_priv
signifie accorder à l'utilisateur l'autorisation de créer des procédures stockées et des fonctions stockées pour une base de données spécifique.
ALTER ROUTINE
Alter_routine_priv
signifie accorder à l'utilisateur l'autorisation de mettre à jour et de supprimer les procédures stockées et les fonctions stockées existantes dans la base de données.
INDEX
Index_priv
signifie accorder à l'utilisateur l'autorisation de définir et de supprimer des index sur toutes les tables de données d'une base de données spécifique.
DROP
Drop_priv
signifie accorder à l'utilisateur l'autorisation de supprimer toutes les tables et vues d'une base de données spécifique.
CREATE TABLES TEMPORAIRES
Create_tmp_table_priv
signifie accorder à l'utilisateur l'autorisation de créer des tables temporaires dans une base de données spécifique.
CREATE VIEW
Create_view_priv
signifie accorder à l'utilisateur l'autorisation de créer de nouvelles vues dans une base de données spécifique.
EXECUTE ROUTINE
Execute_priv
signifie accorder à l'utilisateur l'autorisation d'appeler des procédures stockées et des fonctions stockées d'une base de données spécifique.
LOCK TABLES
Lock_tables_priv
signifie accorder à l'utilisateur l'autorisation de verrouiller les tables de données existantes d'une base de données spécifique.
ALL ou ALL PRIVILEGES ou SUPER
Super_priv
signifie toutes les autorisations/super autorisations ci-dessus
Nom de l'autorisation
correspond au champ de la table utilisateur
Description
SELECT
Select_priv
Accorde à l'utilisateur l'autorisation d'utiliser l'instruction SELECT pour accéder à une table spécifique
INSERT Insert_priv
Accorde aux utilisateurs l'accès à l'instruction INSERT pour ajouter des lignes de données à une table spécifique
DELETE
Delete_priv
Accorde à l'utilisateur l'autorisation de supprimer des lignes de données d'une table spécifique à l'aide de l'instruction DELETE
DROP Drop_priv
Accorde à l'utilisateur l'autorisation de supprimer des tables de données
UPDATE
Update_priv
Accorde aux utilisateurs l'autorisation d'utiliser l'instruction UPDATE pour mettre à jour une table de données spécifique
ALTER
Alter_priv Accorde aux utilisateurs le autorisation d'utiliser l'instruction ALTER TABLE pour modifier la table de données
REFERENCES
References_priv
accorde à l'utilisateur l'autorisation de créer une clé étrangère pour référencer une table de données spécifique à l'utilisateur la permission de créer une table de données en utilisant un nom spécifique
INDEX
Index_priv
Accorde à l'utilisateur la permission de définir des index sur la table
ALL ou ALL PRIVILEGES ou SUPER
Super_priv
All permission noms
3) Lors de l'octroi d'autorisations de colonne, ne peut être spécifiée que comme SELECT, INSERT et UPDATE. En même temps, la liste de noms de colonne doit être ajoutée après le. autorisation. 4) L'autorisation la plus efficace est l'autorisation de l'utilisateur. Lors de l'octroi des autorisations utilisateur, le
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!