使用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
以上是全量备份,增量备份我晚点再想想办法