Hi Michael,

Thanks for your help.

When I migrated from 3.23 to 4.0 version (if I'm remember well), I think I missed to upgrade something, so all my MySQL users are able to see the list of the databases on my server. Currently, the MySQL version is 5.0.15, i ran the mysql database upgrade script, but it still is a problem. What should I do, to hide the databases, and my users just see the databases they have rights for to select/etc. from? Or is it the normal behaviour?

By "the mysql database upgrade script", do you mean mysql_fix_privilege_tables? Did you follow the upgrade instructions in

Yes, I wasn't clear enough.

the manual <http://dev.mysql.com/doc/refman/5.0/en/upgrade.html>? If you did, then the problem is probably with user privileges.

I think I did everything listed there, except I didn't dumped and imported all my tables. Maybe missed something, but don't know what. I ran the mysql_fix_privilege_tables when I was running MySQL 5.0, but I don't think it's important.

The default in 4.0 and higher is to only show databases for which a user has privileges, but this can be overridden for an individual user with the SHOW DATABASES privilege <http://dev.mysql.com/doc/refman/5.0/en/show-databases.html>.

If you believe [EMAIL PROTECTED] can see databases he shouldn't, the first thing to do is to run

  SHOW GRANTS FOR [EMAIL PROTECTED];

to see what privileges he has. Post the output if you need help interpreting it.

GRANT CREATE TEMPORARY TABLES, LOCK TABLES ON *.* TO 'user'@'localhost' IDENTIFIED BY PASSWORD 'xxxxxxxxxxxxxxxxxx'

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, EXECUTE, CREATE ROUTINE, ALTER ROUTINE ON `metazin`.* TO 'user'@'localhost'

When I ran SHOW GRANTS first, the SHOW DATABASES was there for this user. Then I revoked it, plus said FLUSH PRIVILEGES, FLUSH QUERY_CACHE, but SHOW DATABASES still shows all the databases for me logged in with that user with the mysql shell. I tried to check the mysql.db and mysql.user tables manually, but found nothing strange in them.

Now I restarted the MySQL server, but no changes.

Bye,
  Andras

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to