19

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!

0

2 Answers 2

24
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)

Sign up to request clarification or add additional context in comments.

2 Comments

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.
grant all on B.* to 'user'@localhost identified by 'password'; to copy and paste faster ;)
22

you can try this

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

1 Comment

Just by granting privileges to an user if it doesn’t exist it is created.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.