|MySQL 5.5 + MySQL 8||RECOMMENDED|
I’m having an impossible time restoring a Virtualmin to Virtualmin backup.
We have a paid unlimited license and I tried to “Submit Support Ticket” but it failed:
Sending support ticket to virtualmin.com …
… failed with HTTP error : HTTP/1.1 404 Not Found
Here is the problem:
On the source server I only selected:
- Server’s home directory and web pages
- Mail/FTP users and mail aliases
When I restore the error is:
Restore failed : SQL grant all on taloomaxyz_db
.* to 'xyzrshack'@'localhost' with grant option failed : You are not allowed to create a user with GRANT
The aborted backup has the following effect on the
homes directory, in that users are intertwined with other virtual server users, and sometimes numeric:
root@server:/home/xyzshsackdand/homes# ls -lah total 28K drwxr-xr-x 7 xyzshsackdand xyzshsackdand 4.0K Jan 6 2020 . drwxr-x--- 13 xyzshsackdand xyzshsackdand 4.0K Aug 8 11:23 .. drwxr-x--- 4 email@example.com xyzshsackdand 4.0K Aug 6 2018 admin drwxr-x--- 4 xyzshack xyzshsackdand 4.0K Aug 6 2018 gearshack drwxr-x--- 6 firstname.lastname@example.org xyzshsackdand 4.0K Aug 6 2018 pedro drwxr-x--- 4 email@example.com xyzshsackdand 4.0K Aug 6 2018 peet_savic_gear drwxr-x--- 4 2814 xyzshsackdand 4.0K Dec 23 2019 sales
For example, see the @random.co.za user, and the 2814 user. Those respectively should be:
peet_savic_gear and firstname.lastname@example.org
My synopsis is that:
Virtualmin ignores that I didn’t specify MySQL. I was explicit about not doing a MySQL backup nor restore yet it always tries to and fails.
Virtualmin has issues converting a MariaDB 5.5 database to a MySQL 8 database due to the new grant permission changes in MySQL 8 and is unable to recover.
Due to an aborted backup user permissions end up being wrong causing mission critical email failures.
I’ve done around 260 backups and restores from 4 servers over the last thee months and this problem keeps on cropping up. Its rare, but when it happens I really struggle to recover.
In some instances I was able to use chown to manually assign the correct permissions, but for this one domain it fails as the user simply isn’t there.