Backup MySQL Databases Into Seperate Files
Join the DZone community and get the full member experience.Join For Free
A cronable script for backing up all your databases as seperate files. I'd suggest limiting the backup user's access to the IP of the computer backing up, and using some sort of encryption if you're on a capable version of mysql.
#!/bin/sh # # MySQL backups from the Data MOUNTED=`grep /etc/mtab -e \/mnt\/backup` if [ "$MOUNTED" = '' ]; then echo "/mnt/backup is not mounted, there is no drive to backup to" exit 1 fi mkdir -p /mnt/backup/cluster_sql for i in $(echo 'SHOW DATABASES;' | mysql -ubackup -pSUPERSECRET -hData|grep -v '^Database$'); do mysqldump -ubackup -pSUPERSECRET -hData --opt $i > /mnt/backup/cluster_sql/$i.sql; done;
Opinions expressed by DZone contributors are their own.