User Manager - create a user to see only the database it is supposed to see

maria666's profile image maria666 posted 1 year ago in General Permalink

I create my "database A" with the user root with HeidiSQL (with tables, stored procedures, etc). Then i create a "user A" with the user manager tool, add an object to have permissions to the tables and procedures of the "database A", but then, when i create a session with that settings for "user A", i see all databases from the root. I want to enter heidiSQL with "user A" to only see "database A", not all the databases. My version of HeidiSQL is 11.3.0. What am i doing wrong? The Global priviledges i put on, it is because, if i dont put select, i dont have access to the parameters of my stored procedures... I send you 2 files. Thanks in advance. Best Regards

2 attachment(s):
  • Image1
  • Image2
ansgar's profile image ansgar posted 1 year ago Permalink

The global SELECT privilege is causing that. You can define EXECUTE instead of SELECT, but the database names will still be visible with that. This is because if you define any global privilege, the server silently allows to see all database names.

maria666's profile image maria666 posted 1 year ago Permalink

Ok. But the problem is, i cannot see the parameters of my stored procedures or functions. That's why i need the SELECT option on the Global Privileges. So, the main problem here is, when i deploy my database for production in other server machine, the "definer" of my stored procedures and functions, must be changed to the final user, because, if they remain in the same name of the original creator, i could not execute my stored procedures or functions. Thank you!

Please login to leave a reply, or register at first.