CentOs7环境下创建每天Mysql备份,按照每天进行定时备份

本文介绍了一个用于MySQL数据库备份的bash脚本实现过程,包括创建.sh文件、设置脚本内容及权限,并解决了执行过程中可能遇到的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.随便目录下创建一个.sh文件

vi database.sh 

2.输入脚本

#!/bin/bash
DATE=`date +%Y%m%d%H%M`                #every minute
DATABASE=test              #database name  数据库名字
DB_USERNAME=test                       #database username 账号
DB_PASSWORD="test"                    #database password 密码
BACKUP_PATH=/data/mysqlb          #backup pathhome/backup  数据库备份文件保存路径
mysqldump yshop  > /data/mysqlb/${DATABASE}_${DATE}.sql

3.输入完毕之后,赋予脚本文件权限 777 即可。

chmod +x database.sh

到这一步,就已经完成了,先执行一遍脚本,查看是否有报错,无报错,可以添加到定时任务,有报错,可以看下我下面的总结出来的一些问题

4.有些小伙伴,执行的时候会有些问题,我来总结一下我踩的坑

  • 4.1,执行脚本报错,数据库使用mysqldump不安全之类的
    解决办法:修改mysql配置文件,有些在/etc/my.cnf,有些是在/etc/my.conf
vi /etc/my.cnf
	在client模块里面追加如下红圈标记代码
host=localhost
user=数据库用户
password='数据库密码'
	这样子,Mysql数据连接问题就已解决

在这里插入图片描述

  • 4.2 有些小伙伴直接执行脚本没问题,但是添加到定时任务之后,输出的数据大小为0Byte大小
    解决方案:
    查找mysqldump命令在哪里
find / -name mysqldump -print

在这里插入图片描述
使用ln命令链接到/usr/bin下面 ,根据自己路径修改,每个人的路径不一样

ln -fs /usr/local/mysql/bin/mysqldump /usr/bin

上面的两个问题基本就可以解决大部分的问题了

添加脚本到定时任务

crontab -e

下面进行追加 , 每天凌晨一点执行一遍脚本任务,后面的路径是存放脚本的,根据自己文件路径进行秀嘎。

00 1 * * * /data/test/database.sh

然后保存退出即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值