2010-04-19 7 views

Respuesta

56

Si utilizo copias de los tics en lugar de comillas simples en la sintaxis, parece funcionar muy bien:

grant all on `projectA\_%`.* to `projectA`@`%`; 
+3

back-tics sólo son necesarios para el nombre de base de datos, no el usuario – glarrain

+1

Esto no funciona para mí cuando me usar ' nombre de tabla específica' en lugar de '*', por ejemplo '' otorgar todo en 'projectA%' .'some_table% 'to' some_user' @ '%'; '' –

10
GRANT ALL PRIVILEGES ON `projectA\_%`.* TO 'projectA'@'%' IDENTIFIED BY 'your_passwd'; 

back-tics son necesarios para el nombre de la base de datos

Editado: Ahora se ha escapado el subrayado.

2

De acuerdo con la documentación de MySQL GRANT:

El “_” y “%” comodines están permitidos al especificar nombres de bases de datos en instrucciones GRANT que otorgan privilegios a los niveles globales o de bases de datos. Esto significa, por ejemplo, que si desea utilizar un carácter "_" como parte del nombre de una base de datos, debe especificarlo como "\ _" en la declaración GRANT, para evitar que el usuario pueda acceder al bases de datos adicionales que coincidan con el patrón de comodín; por ejemplo, Grant ... EN 'foo \ _bar`. * A ....

Cuestiones relacionadas