In your situation I would look at replication from your primary MySQL server to a secondary server. This would then mean that your primary will continue to function and that you use the replicated version for taking your backups. It also means that if you have a disaster you can use your secondary server as the primary until the old primary gets rebuilt.
You could either have it on the same server or on a different server. If I was doing it and budget was available I would definitely put it onto a small server. This way the backup will use only the resources of the replicated server and not the primary server where you want to keep your resources to handle the SQL requests coming.