Linux下实现Mysql 每日备份

本文详细介绍了如何在Linux系统中为MySQL数据库设置自动备份。首先,在空间充足的磁盘创建备份文件夹,然后编写包含备份命令的shell脚本,其中包含了直接备份和压缩备份两种方式。接着,通过`chmod`命令赋予脚本执行权限,并通过测试确保脚本能正常运行。最后,利用`crontab`设置每日凌晨1点执行备份任务,确保数据库的安全与可用性。
摘要由CSDN通过智能技术生成

前言:因为是定时备份,加之数据库内的数据在成倍增加,我们一定要为备份文件选好合适的存储磁盘。以防出现因磁盘空间不足而导致备份失败的情况。

1. 先在空间充足的磁盘内创建备份文件夹

        我这边选择了再home文件夹下创建备份文件夹。

        使用命令 创建了个备份文件夹 backup

mkdir backup

2. 创建备份 shell 脚本

        2.1使用vi 命令创建 一个名字为 sh的文件,这个文件名随便你取,但更推荐名字要贴近需要备份的数据库的名字

vi  bk_databasename.sh

        2.2  在2.1建立的sh文件中,编辑你要备份的数据库的信息,备份方法有两种,一种是直接备份成sql文件,一种是备份并且压缩

        USERNAME 需要改成你数据库的登录用户名

        PASSWORD 需要改成你数据库的登录密码

        DATABASENAME1 需要改成你要备份的数据库库名

        DATABASENAME2 可以改成你想改的任何备份名前缀。我这里备份文件名是采用【前缀_生成时间.后缀 】的方式拼接出来的。这样能确保你的备份旧文件不会被新文件覆盖掉,并且每日生成的备份文件一目了然。

#!/bin/bash

# 直接备份成sql文件 
mysqldump -uUSERNAME -pPASSWORD DATABASENAME1 > /home/backup/DATABASENAME2_$(date +%Y%m%d_%H%M%S).sql

#备份并且压缩成gz文件
mysqldump -uUSERNAME -pPASSWORD DATABASENAME1 | gzip > /home/backup/DATABASENAME2_$(date +%Y%m%d_%H%M%S).sql.gz

3. 赋予 shell脚本 足够的权限

chmod u+x  bk_databasename.sh

4. 测试 shell脚本文件

        运行一下命令,然后前往backup文件夹查看,是否有备份文件生成。若有则证明执行成功。

 ./bk_databasename.sh

5. 设置crontab 定时任务 ->每日备份数据库

使用  crontab -e  命令进入定时文件

输入下列命令,让定时任务每日凌晨1点运行一次bk_databasename.sh文件,执行一次备份操作。

00 01 * * * /home/backup/bk_databasename.sh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值