学习笔记081——如何备份服务器中MySQL数据库数据?

方法

可以通过编写sh脚本 的方式,结合Linux中的crontab定时任务来实现定时备份数据的功能。

sh脚本如下:

sh 复制代码
#!/bin/bash
 
# 要备份的数据库
DB_NAME="wms"
# 数据库账号
DB_USER="root"
# 数据库密码
DB_PASSWORD="123456"
# 数据备份存放目录
BACKUP_DIR="/home/htl/backup"
mkdir -p $BACKUP_DIR
 
# 备份文件名
BACKUP_FILE="$BACKUP_DIR/$DB_NAME-$(date +%Y%m%d%H%M%S).sql"
 
# 执行数据库备份
mysqldump -u $DB_USER -p$DB_PASSWORD $DB_NAME > $BACKUP_FILE
 
# 压缩备份文件(可选)
gzip $BACKUP_FILE
 
# 删除旧的备份文件-保存近七天的(可选)
find $BACKUP_DIR -name "*.sql.gz" -type f -mtime +7 -exec rm -f {} \;

crontab定时任务中添加:

bash 复制代码
# 打开crontab配置文件
sudo crontab -e

# 插入
# 每天晚上1点执行一次  /opt 目录下的backup脚本
# 执行频率根据情况调整
0 1 * * * sh /opt/backup.sh

# 查看crontab配置文件
sudo crontab -l
相关推荐
CodeAmaz2 分钟前
InnoDB的MVCC机制
java·数据库·mvcc
MC皮蛋侠客10 分钟前
MySQL数据库迁移脚本及使用说明
数据库·mysql
开开心心_Every1 小时前
Word转PDF工具,免费生成图片型文档
网络·笔记·pdf·word·powerpoint·excel·azure
愚公移码1 小时前
蓝凌EKP产品:Hibernate 中 SessionFactory、Session 与事务的关系
java·数据库·hibernate·蓝凌
透明的玻璃杯1 小时前
sqlite数据库连接池
jvm·数据库·sqlite
专注于大数据技术栈1 小时前
java学习--8个包装类
java·学习
Lyinj1 小时前
从一个编辑校验问题谈接口设计的边界
java·spring boot·python·学习
VX:Fegn08951 小时前
计算机毕业设计|基于springboot + vue非遗传承文化管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
hd51cc1 小时前
MFC基础知识
笔记·学习·mfc
Warren981 小时前
面试和投简历闲聊
网络·学习·docker·面试·职场和发展·eureka·ansible