Maison  >  Article  >  base de données  >  Comment accorder des privilèges de création de bases de données tout en restreignant l'accès à des bases de données spécifiques dans MySQL ?

Comment accorder des privilèges de création de bases de données tout en restreignant l'accès à des bases de données spécifiques dans MySQL ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-04 19:31:01264parcourir

How to Grant Database Creation Privileges While Restricting Access to Specific Databases in MySQL?

Accorder des privilèges de création de base de données et restreindre l'accès

Problème :

Les utilisateurs doivent pouvoir pour créer des bases de données dans une instance MySQL, mais chaque utilisateur ne doit avoir accès qu'à son propre bases de données.

Solution :

Étape 1 : Créer un rôle de remplacement

Créez un rôle qui inclut les privilèges nécessaires pour création et modification de bases de données :

CREATE ROLE db_creator;
GRANT CREATE, DROP, ALTER, DELETE, INSERT, UPDATE, SELECT ON *.* TO db_creator;

Étape 2 : Accorder le rôle à cibler Utilisateurs

Accordez le rôle aux utilisateurs souhaités, en précisant que les privilèges du rôle doivent être appliqués aux bases de données avec une convention de dénomination spécifique :

GRANT db_creator TO 'testuser'@'%';

Dans cet exemple, l'utilisateur de test va disposent des privilèges accordés par le rôle db_creator, mais uniquement pour les bases de données commençant par testuser_.

Remarques supplémentaires :

  • Remplacez testuser par le nom d'utilisateur réel.
  • Spécifiez '%' comme hôte pour accorder l'accès depuis n'importe quel hôte (ajustez selon les besoins de votre environnement).
  • La convention de dénomination des bases de données (par exemple, testuser_%) peut être personnalisé à volonté.

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!

Déclaration:
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