22.定时备份数据库

1.解决方案
定时备份数据库的解决方案大致上分为三个部分,首先是定时调度器,如Windows平台上的定时计划和Linux平台上的Crontab。其次是数据库备份脚本,如Windows平台上的DOS批处理脚本和Linux平台上的Shell脚本。最后是备份的sql语句,主要使用select…into outfile和mysqldump。

2.Windows上实现定时备份MySQL
schtasks.exe用于安排命令和程序在指定时间内运行或定期运行,它可以从计划表中添加和删除任务、按需要启动和停止任务、显示和更改计划任务。

#创建计划任务(每隔指定时间备份一次MySQL)
schtasks /create /sc minute /mo 1 /tn taskName /tr d:\backup\mysql_mydb_backup.bat

#备份数据库的脚本mysql_databaseName_backup.bat
mysqldump -h localhost -uroot -p123456 databaseName > d:\backup\databaseName.sql

#删除计划任务
schtasks /delete /tn taskName

3.Linux上实现定时备份MySQL
Crontab

#每天凌晨00:00执行shell脚本(备份数据库)
0 0 * * * bash /home/backup/mysql_mydb_backup.sh

Shell脚本和备份语句

#!/bin/bash
#备份目录
backup_dir = /home/backup

#备份文件名
backup_filename = “mydb-`date +%Y%m%d`.sql“

#进入备份目录
cd $backup_dir

#备份数据库
mysqldump -h localhost -uroot -p123456 mydb > ${backup_dir}/${backup_filename}

#删除7天以前的备份
find ${backup_dir} -mtime +7 -name "*.sql" -exec rm -rf {
    
    } \;

猜你喜欢

转载自blog.csdn.net/Jgx1214/article/details/107496297
今日推荐