Comment accorder sur plusieurs bases de données? MySQLAccord sur plusieurs bases de données. MySQL
Quelque chose comme
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE
ON 'databasesprefix%'.*
TO [email protected] IDENTIFIED BY 'testpasswd';
Comment accorder sur plusieurs bases de données? MySQLAccord sur plusieurs bases de données. MySQL
Quelque chose comme
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE
ON 'databasesprefix%'.*
TO [email protected] IDENTIFIED BY 'testpasswd';
votre exemple devrait fonctionner. du (5.5) manual:
Le « _ » et wildcards « % de » sont autorisés lors de la spécification des noms de base de données dans les déclarations de GRANT privilèges aux niveaux mondial ou base de données.
avec %
correspondant à un nombre (même zéro) de caractères, et _
correspondant exactement à un caractère. Si vous voulez un _
dans votre nom de base de données, vous devez lui échapper comme \_
. Regardez également les autres mises en garde du manuel.
< MISE À JOUR > que l'autre réponse souligne: si le nom de la base de données contient des caractères génériques, il doit être cité avec le identifier quote character, le backtick (« ` ») </MISE À JOUR >
Vous juste besoin d'utiliser des backticks au lieu de guillemets autour du préfixe db_name.
Je pense que cela va fonctionner:
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE
ON `databasesprefix%`.*
TO [email protected] IDENTIFIED BY 'testpasswd';
« Vous ne pouvez pas utiliser des caractères génériques dans le nom_base_de_donnees d'une déclaration de subvention. » Oui, vous pouvez. – quantumSoup
Je suis corrigé! J'ai édité ma réponse en conséquence. –