posted 17 years ago
As mentioned before, the backup process should be handled outside of your web container.
mysqldump is the appropriate tool. Window has a scheduling facility, "Scheduled Tasks", and even a Cron service with Windows SFU. You can also schedule backups from within MySQL (MySQL Admin->backup->new project->schedule).
In addition, I would suggest using a separate machine for backups. This machine should be well suited for the task, providing redundant disk storage of your data. It is not a bad idea to keep an archive of the backups either.
I use MySQL on Linux. Without giving to much away about our configuration, here is some information about our backups.
The backup user (username something other than backup), has a limited shell.
The backup user only has read access and can only connect from a particular IP/hostname.
no user besides root and the backup user can view the backup home dir, script, or resulting dump files.
The dump files are compressed and encrypted