what’s the recommended approach if I have mysql and apache split onto separate servers?
It actually shouldn’t be too difficult to move MySQL to another server.
What I’d do is put Virtualmin on your server running Apache. Then, setup your server running MySQL so that MySQL can accept connections from your Apache/Virtualmin server.
You can then configure Virtualmin to be able to remotely manage your MySQL database by logging into Virtualmin, then clicking Webmin -> Servers -> MySQL Database -> Module Config -> System Configuration. Then on that screen, you can choose a different MySQL hostname and/or port.
Some other folks were attempting to tackle the problem of redundancy and high availability recently… you may be interested in this post here: