tags:

views:

34

answers:

2

Hi, I would need to create MySQL user programatically with the privileges only for specific db. Say there are databases a,b,c and I would need to create user who has rights only for B. I am sure its possible but my googling was not successful. Thank you!

+1  A: 
grant all
    on B.*
to
    'user'@localhost
identified by
    'password'

The user 'user' with password 'password' now have access to all tables in the database 'B'. (Of course you need to run this query with a high priv user)

Björn
You could also change "ALL" to a more reasonable set of privileges if it is going to be used by an application. Most web apps do not need to create,alter,drop tables.
MarkR
+1  A: 

you can try this

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