MySQL定时备份数据库
本节目标
1.熟悉定时备份数据库的解决方案
2.掌握定时备份数据库的实现
思路:
定时备份数据库的解决方案,总共有三步
1.定时调度器(每天什么时候,隔多久去做)
2.数据库备份脚本
(脚本功能:怎么连接数据库,备份,保留近七天、十天的数据,而且在
备份数据的时候,不仅仅备份在主机,我们也备份在异地,FTTP服务上,
越多越好,清理历史数据的作用等等)
3.select … into outfile(适用:导数据出来到其他数据库的情况)
mysqldump(适用:导出来mysql本身自己使用)
Windows上实现定时备份
schtasks.exe 用于安排命令和程序在指定时间内运行或定期运行,
它可以从计划表中添加和删除任务,按需要启动和停止任务、显示和更改计划任务、
#备份数据库的脚本
mysql_mydb_backup.bat
mysqldump -h localhost -u root -p123456 mydb >d:\backup\mydb.sql
说明:其实这个批量处理应该还有其他内容,如历史的备份数据怎么把她删掉,或者
这个备份要放在FTP服务器上,将备份进行压缩等等,不过此处我们忽略了
#创建计划任务(每隔指定时间备份一次MySQL)
schtasks /create /sc minute /mo 1 /tn 定期备份MySQL /tr d:\back\mysql_mydb_backup.bat
#删除计划任务
schtasks /delete /tn 定期备份MySQL
Liunx上实现定时备份MySQL
名字:mysql_mydb_backup.sh
#!/bin/bash
#备份目录
backup_dir=/home/user_mofei/backup
#备份文件名
backup_filename=“mudb_date+%Y%m%d
.sql”
#进入备份目录
cd $backup_dir
#备份数据库
mysqldump -h localhost -uroot -p123456 mydb > {backup_filename}
#删除7天以前的备份
find ${backup_dir} -mtime +7 -name “*.sql” -exec rm -rf {} ;
crontab是一个命令,常见于Unix和类Unix的操作系统之中,用于周期性执行任务。
#每天凌晨01:30执行shell脚本(备份数据库)
30 1 *** bash/home/user_mofei/backup/mysql_mydb_backup.sh
Windows实操:
1.在D盘目录下,创建一个名为mysql_mydb_backup.txt的文本文件,
写入:mysqldump -h localhost -u root -p123456 mydb >d:\backup\mydb.sql
保存,改文件后缀为.bat
2.打开dos窗口输入:
C:\Users\zs>schtasks /create /sc minute /mo 1 /tn 定期备份MySQL /tr d:\back\mysql_mydb_backup.bat
显示:
成功: 成功创建计划任务 "定期备份MySQL"。
3.若要删除备份脚本,输入命令
schtasks /delete /tn 定期备份MySQL
y即可
显示:
C:\Users\zs>schtasks /delete /tn 定期备份MySQL
警告: 确实要删除任务 "定期备份MySQL" 吗 (Y/N )? Y
成功: 计划的任务 "定期备份MySQL" 被成功删除。
推荐阅读