2009-11-02 9 views
11

Necesitaría crear un usuario MySQL programáticamente con los privilegios solo para db específico. Digamos que hay bases de datos a, b, c y yo tendríamos que crear un usuario que tenga derechos solo para B. Estoy seguro de que es posible, pero mi Google no fue exitosa. ¡Gracias!MySQL: Crear usuario con derechos solo para db específico

Respuesta

18
grant all 
    on B.* 
to 
    'user'@localhost 
identified by 
    'password' 

El usuario 'usuario' con la contraseña 'contraseña' ahora tiene acceso a todas las tablas en la base de datos 'B'. (Por supuesto que necesita para ejecutar esta consulta con un usuario de alta priv)

+0

También podría cambiar "ALL" para un conjunto más razonable de privilegios si se va a utilizar por una aplicación. La mayoría de las aplicaciones web no necesitan crear, modificar, eliminar tablas. – MarkR

+1

'otorgar todo en B. * a 'usuario' @ localhost identificado por 'contraseña';' copiar y pegar más rápido;) – Ricain

16

puede probar esta

CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'some_pass'; 
grant all privileges on B.* to 'myuser'@'localhost' identified by 'some_pass'; 
+6

Con solo otorgar privilegios a un usuario si no existe, se crea. – MTVS

Cuestiones relacionadas