mysql 定时备份

本文分享了一次腾讯云服务器故障导致数据丢失的教训,并详细介绍了如何使用mysqldump结合crontab在Linux环境下实现MySQL数据库的定时自动备份,包括脚本编写、定时任务设置及压缩备份文件等步骤。
摘要由CSDN通过智能技术生成

想起来,腾讯云的服务器挂了,数据恢复不了,导致一家行业垂直的公司直接GG。这影响是及其严重啊。企鹅大厂也会挂。所以备份是很重要的。接下来我们就做数据备份。
备份是基于mysqldump 在linux 的下的crontab 定时任务 定时执行shell 脚本完成。
废话不多说
先创建备份目录
mkdir /home/mysql_back
vim mysql_back.sh //创建shell 脚本文件
shell脚本代码

#!/bin/bash
#获取当前时间
date_now=$(date "+%Y%m%d-%H%M%S")
backUpFolder=/home/mysql_back
username="root"
password="root"
db_name="mysqlback"
#定义备份文件名
fileName="${db_name}_${date_now}.sql"
#定义备份文件目录
backUpFileName="${backUpFolder}/${fileName}"
echo "starting backup mysql ${db_name} at ${date_now}."
/usr/bin/mysqldump -u${username} -p${password}  --lock-all-tables --flush-logs ${db_name} > ${backUpFileName}
#进入到备份文件目录
cd ${backUpFolder}
#压缩备份文件
tar zcvf ${fileName}.tar.gz ${fileName}
date_end=$(date "+%Y%m%d-%H%M%S")
echo "finish backup mysql database ${db_name} at ${date_end}."

Shell

Copy

脚本完成
以上指定执行的数据库的 用户 和 密码。备份的目录 文件命名 打包等,

shell 脚本完成
去写入crontab脚本。按照产品需求
crontab 如下

数据库定时备份 9-20每小时整点备份

0 9-20 * /home/mysql_back/mysql_back.sh
这是 公司要求的这样的。为什么是 9-20点的每个小时呢。额。其实吧是 是具体业务要求的。
比如 你需要每日凌晨1点备份一次则如下
0 1 *在/home/mysql_back/mysql_back.sh
这样就没每天凌晨1点。
这样过一段时间 你就会发现在/home/mysql_back 目录下就会有 .sql 和 .tar.gz 文件就ok了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值