Linux环境下使用crontab来进行mysql自动备份

本文介绍了在Linux环境下如何设置MySQL自动备份,包括创建shell脚本mysqldump.sh,指定备份路径、数据库名和时间戳,以及如何使用crontab进行定时任务。还强调了绝对路径的重要性以及脚本权限的设置。

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

概要

mysql安装在Linux环境中如何设置自动备份

技术细节

1.先创建shell脚本

touch mysqldump.sh
vim mysqldump.sh

接着使用vi或者vim工具来进行脚本编辑
注意
#备份地址:创建自己的备份保存路径
#需要备份的数据库名称:可以使用mysql -uroot -p ;
show databases; 来进行查看
**

mysqldump前面一定要加入绝对路径,这样定时任务自动执行的时候才能生成备份文件,要不生成的备份文件为0btys

**
例如/opt/mysql/bin/mysqldump

#!/bin/bash
# Name:mysqldump.sh
#
#备份地址:创建自己的备份保存路径
backupdir=/data/mysqlbak
#备份文件后缀时间
time=_` date +%Y_%m_%d_%H_%M_%s `
#需要备份的数据库名称
db_name=
#MysqL 用户名
db_user=
#MysqL 密码
db_pass=
#====添加绝对路径======/opt/mysql/bin/
/opt/mysql/bin/mysqldump  -u $db_user -p$db_pass $db_name | gzip > $backupdir/$db_name$time.sql.gz
#删除一天之前的备份文件
#find $backupdir -name $db_name"*.sql.gz" -type f -mtime  +1 -exec rm -rf {} \; > /dev/null 2>&1
echo “success”

2.使用crontab来进行自动执行备份

#查看是否有任务
crontab -l
#编辑定时任务
crontab -e
#删除
crontab -r

进入crontab后和vim一样 按i 进入insert模式

* 23 * * *  /data/mysqlbak/bak_sh/mysqldump.sh

3.crontab用法

#编辑crontab文件设置每天晚上23点执行备份脚本
*    23   *    *    *  /data/mysql_nacos_back.sh
*    *    *    *    *
-    -    -    -    -
|    |    |    |    |
|    |    |    |    +----- 星期中星期几 (0 - 6) (星期天 为0)
|    |    |    +---------- 月份 (1 - 12)
|    |    +--------------- 一个月中的第几天 (1 - 31)
|    +-------------------- 小时 (0 - 23)
+------------------------- 分钟 (0 - 59)

小结

一定要给.sh的脚本赋予777的权限

chmod 777 <filepath or filename>

创建的文件夹也要赋权

mysql数据库也需要授权,根据执行的情况来看

#登录数据库
mysql -uroot -p
#查看数据库名称
show databases;
#查看你的数据库权限
show grants for nacos;
#授权process的权限 %可以换成你的本机名字,不知道可以使用%来代替
grant process on *.* to '数据库名称'@'%';
#刷新数据库权限
flush privileges;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值