使用Bash脚本定时备份MySQL数据库的步骤

目录

[TOC]


在日常管理MySQL数据库的过程中,定期备份是一项至关重要的任务。通过Bash脚本,我们可以方便地实现定时备份的功能。下面是一份简要的教程,帮助你使用Bash脚本定时备份MySQL数据库。

步骤一:安装mysqldump工具

首先,确保你的系统已经安装了mysqldump工具。你可以使用以下命令进行安装:

apt install mysqldump

步骤二:编写Bash脚本

创建一个新的Bash脚本,比如mysql_backup_script.sh,并添加以下内容:

#!/bin/bash

# MySQL连接信息
DB_HOST="123.456.789.012"
DB_USER="root"
DB_PASS="passwd"

# 备份文件存储路径
BACKUP_DIR="/path/db_backup"

# 执行备份
mysqldump -h$DB_HOST -u$DB_USER -p$DB_PASS \
--single-transaction \
--set-gtid-purged=OFF \
--all-databases \
--source-data=2 \
--triggers --events \
--routines | gzip \
> $BACKUP_DIR/hostname_$(date +%Y%m%d_%H%M%S).sql.gz

步骤三:测试备份脚本

通过执行以下命令,运行刚刚创建的备份脚本:

chmod +x mysql_backup_script.sh && bash mysql_backup_script.sh

该脚本将连接到指定的MySQL服务器,并以压缩文件的形式将数据库备份存储在指定路径下。

步骤四 自动化备份

crontab -e

# 每天凌晨4点30分运行自动备份mysql脚本
30 4 * * * bash mysql_backup_script.sh

步骤五:还原备份(可选)

如果需要还原备份,可以使用以下命令:

# 解压
gzip -d xxx.gz
# 还原,会覆盖,小心数据
mysql -h192.168.11.1 -uroot -pMYPASSWORD < xxx.sql

以上是全量备份,增量备份我晚点再想想办法

Last modification:May 12, 2024
V50%看看实力