Tell me please - what minimum set of privileges the user should to have to get access to the "mysql" database on the server.
For example to get ability to execute query:
select * from mysql.help_topic
Thanks!
The very minimal permissions would be:
GRANT USAGE ON *.* TO [user@host] ;
GRANT SELECT ON mysql.help_topic TO [user@host] ;
Do not believe this answer is sufficient. Please check the manual first, because the privilege system in MySQL is far from being obvious.
If you have phpmyadmin then while creating user you can give privileges by following
Priviliges -> Add a New User -> Data , you should be able to grant privileges like SELECT, INSERT, UPDATE, DELTE, FILE
You need to grant the "object" rights if you want to permit CRUD access. These are SELECT,INSERT,UPDATE, and DELETE. You may need to add EXECUTE and SHOW VIEW. Beyond that you are granting permission to change the schema.
If all you want is select, just grant SELECT.
here's the documentation: http://dev.mysql.com/doc/refman/5.5/en/privileges-provided.html