This powerful php function by David Walsh has helped me automatically back up a mysql database. Use as needed, throw in a function to auto call or have the client choose to do it if needed.
Love it! Here’s the link: http://davidwalsh.name/backup-mysql-database-php
**NOTE this is an old blog post so the php function uses ereg_replace which you’ll need to manually update to the proper preg_replace