priess1314 发表于 2018-11-4 15:50:03

定时备份MySql数据

备份数据使用到MySql自带的一个工具mysqldump

mysqldump用法

mysqldump -help
# 参数
Usage: mysqldump database
OR   mysqldump --databases DB1
OR   mysqldump --all-databases
BashCopy
--all-databases 备份系统中所有数据库
--databases 指定至少一个数据库的名称 多个数据库名称之间用空格隔开

# 备份某个数据库
mysqldump -u root -p root --databases hoehub > ./hoehub.sql

# 备份全部数据库
mysqldump -u root -p root --all-databases > ./all_databases.sql


使用mysqldump工具定时备份

把备份语句写入脚本,用于定时备份

vim backup.sh

写入命令:

#!/bin/sh
# 备份数据
backup_dir=./
time=` date +%Y_%m_%d_%H_%M_%S `
db_user=root
db_pass=www.hoehub.com
db_name=blog
mysqldump --databases $db_name -u $db_user -p $db_pass > $backup_dir$db_name$time.sql
# 记录日志
echo $backup_dir$db_name$time.sql backup successful >> backup.log

保存之后,记得给脚本授权

chmod 755 backup.sh

如需手动备份,执行:

./backup.sh
# 执行完成后,当前目录下便多了一个`.sql`文件

开启定时备份任务

crontab -e

加入定时任务

# 每晚的5:00执行备份

0 5 * * * 脚本所在目录/back.sh

加入定时任务后 最好重启一下crond服务

service crond restart
页: [1]
查看完整版本: 定时备份MySql数据