Jeremy Davis's picture

You nailed it! It's the 'adminer' account - or more to the point the lack of one! Gross oversight on my behalf! That's what happens when I almost never use Webmin - except when people have issues.

Sorry that I didn't see it sooner! Not paying enough attention when going through the steps...

FWIW it doesn't actually matter what it's called, and it doesn't make much sense to call it 'adminer' - because the Redmine appliance doesn't have the Adminer DB webUI (just the Webmin MySQL module).

So it seems you were thinking, creating a new "root like" user is the way to go - although to use it with the Webmin MySQL module, you will need to set a password. As per above, I'd probably call it 'admin' or similar. Assuming a username of 'admin', on the CLI, run the below command. Replace DB_PASS with the desired password:

mysql --execute "GRANT ALL PRIVILEGES ON *.* to admin@localhost identified by 'DB_PASS'; FLUSH PRIVILEGES;"

Then use that user account in Webmin - NOT the root account. I.e. DO NOT set a MariaDB root user password. Then you should be golden. You should be able to access MariaDB via the Webmin module. If/when you use the CLI you can use either 'admin' (with a password) or 'root' without. Please let me know if that's not the case.


It's been like that for ages (at least v16.0, perhaps v15.0)! TBH it blows my mind that no one has ever reported this before now. Or perhaps they have and they weren't persistent enough and I just didn't join the dots? I wonder how many people have launched our Redmine appliance (or one of the other ones with MariDB, the Webmin module but not Adminer), done the same thing and just thrown their arms in the air and gone elsewhere!? So whilst it's a pain, thank you so much from reporting and persisting! Now I know what is going on, I can look at addressing it!

Which brings me to the best way forward... And I'd love your feedback/input.

As I say, it doesn't make sense to call the "root like" MariaDB user 'adminer' on servers that don't have Adminer. We could just use 'admin' on apps (like Redmine) that don't have Adminer and leave it as 'adminer' on one's that do. But IMO it might make sense to rename the 'adminer' DB user to 'admin' too so it's consistent everywhere.

I guess another option is to install Adminer on Redmine (and others too), but it's a PHP app. As all PHP based apps include Adminer anyway and Redmine is a Ruby app, it's a whole lot of extra dependencies for limited value.

Beyond that, we probably need to consider how we handle the Webmin MySQL module. IIRC on all the LAMP based appliances, we're adding 'adminer' as the default user, and perhaps even a warning about usage of root. Obviously we need to address that in Redmine (and others). But I suspect that's not enough? Perhaps we need to block setting of the 'root' MariaDB user via the Webmin module? Perhaps even a link to a doc page that explain why?

I'd love your thoughts!