Linux MySQL 数据库定时备份

1、编写备份脚本,vim backup_mysql.sh:

#!/bin/bash

# 设置MySQL用户名、密码和数据库名称
DB_USER="root"
DB_PASSWORD="123456"
DB_NAME="wlhy_hl"

# 设置备份目录和文件名
BACKUP_DIR="/root/backup_mysql"
DATE=$(date +%Y%m%d%H%M%S)
BACKUP_FILE="$BACKUP_DIR/$DB_NAME-backup_$DATE.sql"

# 使用mysql自带的备份工具mysqldump进行全量备份,备份过程中不能影响到项目正常运行,需要加--skip-lock-tables参数不锁表。
mysqldump -u$DB_USER -p$DB_PASSWORD $DB_NAME --skip-lock-tables > $BACKUP_FILE

# 压缩备份文件
gzip $BACKUP_FILE

# 删除旧的,只保留最近3份备份数据
ls -t $BACKUP_DIR/*.gz | tail -n +4 | xargs rm -f

2、增加相应权限

chmod 775 backup_mysql.sh

3、执行脚本测试

./backup_mysql.sh

4、使用linux系统自带的cron作为定时任务执行

crontab -e
    #增加 每天凌点执行:
    0 0 * * * /root/backup_mysql/backup_mysql.sh

#查看是否添加成功
crontab -l

参考:MySql数据库定时备份_mysql数据库备份定时-CSDN博客 https://blog.csdn.net/qyhua/article/details/135407294