How To Separate Virtual Server MySQL Databases?


I have 2 Top-level servers that corresponds to 2 different users, each with several Sub-servers.

Every server has a MySQL database.

However they can both see and manage each other databases.

How can I hide and secure databases and tables from each other?

Thanks in advance!

Hrm, that’s certainly not the expected behavior :slight_smile:

When you say they can see and manage both, are you referring to "withing in the Virtualmin interface"?

Do you know if anyone might have manually added permissions for that to be the case?

Hi andreychek!

Well, they cannot see other’s databases in the virtualmin interface,
but if they access MySQL remotely they can see theirs and everyones databases.

Is any workaround to disallow this?

Thanks in advance!

So you’re saying that you have, say, two users… “jim” and “joe”… and that if you log in as “jim”, Jim is able to see and interact with all of the databases belonging to “joe”?

I’m just a little confused as this certainly isn’t the default behavior you’re seeing, so I’m not sure how that came about. If that’s true, it’s a permissions issue – users have permissions to see databases they shouldn’t.

But before I start taking guesses at how to fix it – what I said above is correct and is what you’re seeing?

Hi andreychek and thank you for your reply.

Yes, that’s right. The two users assigned to different virtual servers are able to see each other databases.

This happens if a user accesses to MySQL remotely, for example, using Navicat software.

Of course, they cannot see each other databases in Virtualmin.

So there must be something we can do to avoid this security hole without having to forbid remote access to MySQL.