virtualmin database / user association

Hi everyone!

I’m a highly experienced Linux / hosting admin but new to webmin/virtualmin. I’m going to refer to that combo as “panel” to reduce typing.

I’m generally finding it relatively easy to get things done, but I don’t understand a few things, like how to associate (db only) users with specific databases, OR how to create databases where they need to be created. I used Webmin to import a SQL file exported from phpmyadmin into a new db, then created a user.

However, the database doesn’t show up under virtualmin AND the php website can’t login to the database I created.

I’m trying to migrate a Wordpress site.

Although I dislike it, I elected to use clear text passwords to make life easier for panel. I don’t understand the reasons why panel was designed that way, but it’s not good for security. I suspect there are issues that are very difficult for panel to resolve if hashed passwords are used. For now I’ll live with it.

Back on topic. What is the correct process to create a db user (no access to email, ftp etc) that has privileges ONLY to specific database(s)? Will I need to delete the db I already created and start over (not a big issue if so)?

I read one forum post here that said you can use either virtualmin OR webmin, the later being more of a manual process.

It’s just not clear how to create a mysql user and associate it with one or more databases, or if the databases need to somehow be created under the domain they will be used in.

Any help for the panel “noob” is greatly appreciated!

Well, actually the software doesn’t change or modify anything on the host operating systems. The way MySQL/MariaDB and users associations works is exactly like it would be on any MySQL server without Webmin/Virtualmin installed. There is no difference what so ever.

Virtualmin does the job of making the associations automatically but otherwise it’s the same standard procedure you would do from the command line:

  1. Create DB user
  2. Assign DB user to specific Database
  3. Give user DB the permissions required for that database