欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MySQL定时备份数据库

程序员文章站 2024-03-20 20:43:52
...

本节目标

1.熟悉定时备份数据库的解决方案
2.掌握定时备份数据库的实现

思路:

定时备份数据库的解决方案,总共有三步

1.定时调度器(每天什么时候,隔多久去做)

2.数据库备份脚本
(脚本功能:怎么连接数据库,备份,保留近七天、十天的数据,而且在
备份数据的时候,不仅仅备份在主机,我们也备份在异地,FTTP服务上,
越多越好,清理历史数据的作用等等)

3.select … into outfile(适用:导数据出来到其他数据库的情况)
mysqldump(适用:导出来mysql本身自己使用)
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 > (backupdir)/(backup_dir)/{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" 被成功删除。