Définir les autorisations d'accès
Après avoir créé un compte utilisateur, vous devez ensuite attribuer des autorisations d'accès. Les comptes d'utilisateurs nouvellement créés n'ont pas de droits d'accès. Ils peuvent se connecter à MySQL, mais ils ne peuvent pas voir les données ni effectuer d'opérations sur la base de données.
Pour voir les autorisations accordées à un compte utilisateur, utilisez SHOW GRANTS FOR, comme indiqué ci-dessous :
Entrez :
SHOW GRANTS FOR bforta;
Entrez :
Analyse : la sortie montre que l'utilisateur bforta dispose d'une autorisation USAGE ON *.*. USAGE signifie aucune autorisation (je sais, pas très intuitif), donc ce résultat signifie aucune autorisation sur quoi que ce soit sur aucune base de données et sur aucune table.
Un utilisateur est défini comme utilisateur@hôte. Les autorisations MySQL sont définies par une combinaison de nom d'utilisateur et de nom d'hôte. Si vous ne spécifiez pas de nom d'hôte, le nom d'hôte par défaut % est utilisé (l'utilisateur a accès quel que soit le nom d'hôte).
Pour définir les autorisations, utilisez l'instruction GRANT. GRANT vous demande de fournir au moins les informations suivantes :
1. Les autorisations à accorder ;
2. La base de données ou la table à laquelle les autorisations d'accès sont accordées ; 3. Nom d'utilisateur.
L'exemple suivant montre l'utilisation de GRANT :
Entrée :
Analyse : Ce GRANT permet aux utilisateurs de l'utiliser sur un cours intensif.* (tous les tableaux du base de données des cours intensifs) SELECT. En accordant uniquement un accès SELECT, l'utilisateur bforta dispose d'un accès en lecture seule à toutes les données de la base de données du cours intensif.GRANT SELECT ON crashcourse.*TO bforta;
AFFICHER LES SUBVENTIONS Refléter ce changement :
Entrée :
Sortie :SHOW GRANTS FOR bforta;
Analyse : chaque SUBVENTION Ajoute (ou met à jour) une autorisation pour un utilisateur. MySQL lit toutes les autorisations et détermine les autorisations en fonction de celles-ci.
L'opération inverse de GRANT est REVOKE, qui peut être utilisée pour révoquer des autorisations spécifiques. Voici un exemple :
Entrée :
Analyse : Cette instruction REVOKE annule l'autorisation d'accès SELECT qui vient d'être accordée à l'utilisateur bforta. L'accès révoqué doit exister, sinon une erreur se produira.REVOKE SELECT ON crashcourse.* FROM bforta;
GRANT et REVOKE peuvent contrôler les autorisations d'accès à plusieurs niveaux :
1. L'ensemble du serveur, utilisez GRANT ALL et REVOKE ALL ;
2. L'ensemble de la base de données, utilisez ON ; database.*;
3. Tables spécifiques, utilisez ON database.table
4. Colonnes spécifiques ;
Le tableau suivant répertorie chaque autorisation qui peut être accordée ou révoquée.
En utilisant GRANT et REVOKE, combinés aux autorisations répertoriées dans le tableau, vous pouvez contrôler ce que les utilisateurs peuvent faire avec vos précieuses données. contrôle total sur ce que vous pouvez et ne pouvez pas faire. Autorisation futureLors de l'utilisation de GRANT et REVOKE, le compte utilisateur doit exister, mais il n'y a pas une telle exigence pour les objets impliqués. Cela permet aux administrateurs de concevoir et de mettre en œuvre des mesures de sécurité avant de créer des bases de données et des tables.
Un effet secondaire est que lorsqu'une base de données ou une table est supprimée (à l'aide de l'instruction DROP), les droits d'accès associés existent toujours. De plus, ces autorisations seront toujours en vigueur si la base de données ou la table est recréée ultérieurement.
Simplifiez plusieurs autorisationsVous pouvez enchaîner plusieurs instructions GRANT en répertoriant chaque autorisation et en la séparant par des virgules, comme indiqué ci-dessous :
【Connexe recommandé】
GRANT SELECT,INSERT ON crashcourse.* TO bforta;
2 MySQL crée un compte utilisateur et supprime un compte utilisateur
3. Commande MySQL. opération de ligne pour gérer les utilisateurs et changer les mots de passe
4 Plusieurs points à noter sur le contrôle d'accès MySQL
5. Tutoriel d'utilisation de MySQL sur l'utilisation du caractère. sets et ordre de relecture
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!