2010-07-10 3 views
5

normalement on dirait:définir des autorisations sur les utilisateurs mysql avec un caractère générique?

ACCÉDER TOUS PRIVILEGES SUR . A 'monty' @ '%'

Peut-on utiliser un caractère générique où l'on peut cibler des bases de données spécifiques que comme ceci:.

GRANT ALL PRIVILEGES D'ACHAT SUR% * À 'monty' @ '%'

Nous souhaitons donner des privilèges d'insertion à un utilisateur sur des bases de données commençant par le préfixe "SHOP"

Répondre

6

Oui, vous pouvez. Voir le GRANT Syntax. Voici une citation de cette page:

Le « _ » et « % » jokers sont autorisés lors de la spécification des noms de base de données dans déclarations de GRANT privilèges aux niveaux mondial ou base de données. Ce signifie, par exemple, que si vous voulez d'utiliser un « _ » caractère dans le cadre d'un nom de base de données , vous devez le spécifier comme « \_ » dans la déclaration de subvention, empêcher l'utilisateur de pouvoir accéder à des bases de données supplémentaires correspondant à le motif générique; . Par exemple, GRANT ... ON `foo \ _bar` * À

+0

merci, mais je reçois une erreur lors de cette opération: GRANT SELECT, insérer, supprimer, mettre à jour le "shop%" * à « quelqu'un. '@' localhost '; -> Vous avez une erreur dans votre syntaxe SQL – Jorre

+2

Vous devez utiliser des back-ticks autour du nom de la base de données: 'grant select, insert, delete, update sur' 'shop% \'. * * À 'someone' @ 'localhost'; ' – Mike

+0

ça marche! merci beaucoup mate – Jorre

Questions connexes