日期:2014-05-16 浏览次数:20546 次
备份方式使用mysqldump + crond
?
建立数据库备份的sh文件,如/root/sbin/db-backup.sh?
?
DATE=`date +%Y-%m-%d`
/usr/bin/mysqldump -uroot -p123456 ?mydatabase > /root/backup/mysql-backup.sql.$DATE
?
内容为备份数据库mydatabase中的全部表到mysql-backup.sql.$DATE文件中,其中$DATE为根据命令的执行时间动态获取的日期
?
如果要备份mysql的全部数据库则使用
/usr/bin/mysqldump -uroot -p123456 ?--all-databases > /root/backup/mysql-backup.sql.$DATE
?
如果数据库中的表包含二进制字段如blod,则必须添加hex-blod的参数,如
/usr/bin/mysqldump -uroot -pqaywsx123 --hex-blod --all-databases > /root/dbbak/winsmedia.sql.$DATE
?
添加到crond中
编辑 /etc/crontab
最后一行添加 ?30 23 * * * root ?/root/sbin/db-backup.sh
表示每天的晚上23点30 开始执行备份命令
?
重启加载crond服务 ? service crond reload
?
注:备份的mysql-backup.sql.$DATE 文件内容编码为utf8,所以要保证数据库的编码也是utf8否则可能会出现中文乱码。
或者添加一个 --default-charset的参数,具体可参考mysqldump命令帮助说明