简单三步实现Linux下mysql数据库定时备份

分类:运用配置 42

Linux下实现mysql数据库定时备份,只需要掌握这简单的三步即可。

1、你必须登录数据库创建一个用于备份的帐号密码,可以给大权限也可以细化。

#创建用户和密码
CREATE USER 'backupuser'@'localhost' IDENTIFIED BY 'Sve1gy123456!';
#授权
GRANT SELECT, RELOAD, LOCK TABLES, SHOW VIEW, EVENT, TRIGGER,PROCESS EXECUTE ON *.* TO 'backupuser'@'localhost';
#刷新生效
FLUSH PRIVILEGES; 
2、编写一个shell脚本,比如 /auto_backup.sh

vim /auto_backup.sh 写入以下代码

#!/bin/bash

# MySQL数据库的用户名和密码
DB_USER="backupuser"
DB_PASS="Sve1gy123456!"

# 要备份的数据库名称
DB_NAME="your_db_name"

# 备份文件存放路径 自定义创建
BACKUP_DIR="/path/to/backup/directory/"

# 获取当前日期和时间
DATETIME=$(date +%Y-%m-%d-%H-%M-%S)

# 拼接备份文件名
BACKUP_FILE="$BACKUP_DIR$DATETIME-$DB_NAME.sql"

# 使用mysqldump备份数据库
mysqldump -u$DB_USER -p$DB_PASS $DB_NAME > $BACKUP_FILE

# 打印备份完成信息
echo "Backup completed: $BACKUP_FILE"
3、添加到定时任务,比如每天凌晨1点

crontab -e 

写入

0 1 * * * sh /backup/auto_back.sh

保存

一般服务器定时任务都是开启的,你可以确认下。

service crond status