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

Comment augmenter les autorisations dans MySQL

青灯夜游
Libérer: 2022-04-12 15:25:31
original
5768 Les gens l'ont consulté

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'".

Comment augmenter les autorisations dans MySQL

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

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

Utilisez l'instruction SHOW GRANTS pour interroger les autorisations de l'utilisateur testUser, comme indiqué ci-dessous.

Comment augmenter les autorisations dans MySQL

Connaissances étendues : description du type d'autorisation

1) Lors de l'octroi d'autorisations de base de donné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

2) Lors de l'octroi d'autorisations de table, peut être spécifié comme la valeur suivante :

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 en plus de toutes les valeurs qui peuvent être spécifiées lors de l'octroi des autorisations de base de données, peut également être les valeurs suivantes :
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

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 :

    tutoriel vidéo mysql

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!