While this process was a lot to handle and resulted in 4 hours of work, I was able to rollback to MariaDB 10.3 from MariaDB 10.4 without data loss doing the following.
BEFORE YOU CONSIDER DOING THIS, THIS IS VERY VERY VERY RISKY. But for the most part you'll be able to work you way through this using these steps. Note that something might throw you for a loop, so be prepared to respond to whatever breaks down during the process. I had to uninstall MariaDB 3 times to get it to work again.
1. Setup a temporary cPanel server with MariaDB 10.3
2. Use the transfer tool to transfer the plans and server settings to avoid any conflictions
3. Full backup of the primary server, twice, to ensure any data loss could be reverted
4. Disable HTTP(s) access requests to the primary server via firewall
5. Transfer the accounts to the temporary server using the Transfer Tool -> BE SURE TO DISABLE LIVE TRANSFER TO AVOID DATA LOSS
6. Verified in phpMyAdmin on the temporary server that no tables were corrupt by spot-checking databases
7. Terminated accounts on the primary server
8. Turned off MySQL
9. Removed MySQL Governor
Code:
/usr/share/lve/dbgovernor/mysqlgovernor.py --delete` (NOTE: THIS WILL FAIL since there is no 10.4 for cPanel)
10. Install MariaDB 10.3 [CODE]yum install MariaDB-client MariaDB-common MariaDB-compat MariaDB-devel MariaDB-server MariaDB-shared
11. Remove MySQL Governor on MariaDB 10.3
Code:
/usr/share/lve/dbgovernor/mysqlgovernor.py --delete
12. Remove MariaDB 10.3
Code:
yum remove MariaDB-client MariaDB-common MariaDB-compat MariaDB-devel MariaDB-server MariaDB-shared
13. Remove the remnants of MariaDB 10.3 (or its likely to fail starting up)
14. Make sure the lock is removed
Code:
rm /var/lock/subsys/mysql
15. Install MariaDB 10.3
Code:
yum install MariaDB-client MariaDB-common MariaDB-compat MariaDB-devel MariaDB-server MariaDB-shared
16. Run the SecureMySQL Script
Code:
/usr/local/cpanel/scripts/securemysql
17. Verify MariaDB started (check phpMyAdmin)
18. Probably should reboot your server
19. Transfer the accounts back to the primary server
20. Enable HTTP(s) access
Good luck if you dare...