centos mysql定时备份数据库_centos中添加mysql自动定时备份数据库脚本—mysqldump

一、创建并编辑文件 /usr/sbin/mysqlbak.sh,命令:

vi /usr/sbin/mysqlbak.sh

添加以下内容:

# Name:mysqlbak.sh

# This is a ShellScript For Auto DB Backup and Delete old Backup

#备份地址

backupdir=/var/www/BackupDatabase

#备份文件后缀时间

time=_` date +%Y_%m_%d_%H_%M_%S `

#需要备份的数据库名称

db_name=mydb

#mysql 用户名

db_user=root

#mysql 密码

db_pass=root

#mysqldump命令使用绝对路径,-flush-logs刷新biglog日志

mysqldump –flush-logs -u$db_user -p$db_pass –databases $db_name | gzip > $backupdir/$db_name$time.sql.gz

#删除7天之前的备份文件

find $backupdir -name $db_name“*.sql.gz” -type f -mtime +7 -exec rm -rf {} \; > /dev/null 2>&1

echo “mysqlbak success”

注意 -p 和 $db_passwd之间没有空格,不然$db_passwd会被当做参数[数据库名]来解析。

如果按以上写,那么备份目录为/var/www/BackupDatabase ,这个可以自己更改。

二、修改文件mysqlbak属性,使其可执行

chmod +x /usr/sbin/mysqlbak.sh

三、手动现在执行以下当前脚本看看是否有问题,比如我的执行完毕是这样:

2f3a848cc4f3b2464dc22232e017cc65.gif

而且我到我的备份目录去看,是备份成功的,但是这里出现了一次警告,不影响实际使用,可以直接看第四步,若想要理解为什么,还有解决方法,看第五步。

四、创建定时任务

00 23 * * * ./usr/sbin/mysqlbak.sh

#上一行命令的 ” . ” 不要也可

# 00 23 是每天23:00执行 mysqlbak 文件,备份数据库在路径 /var/www/BackupDatabase下

#若执行成功,会显示crontab: installing new crontab

可以用命令查看下当前的定时任务,如下

crontab -l

五、处理第三步出来的警告

上面这个脚本其实在mysql5.6上会出现警告,警告信息如下[Warning] Using a password on the command line interface can be insecure.

这实际上是说,不要在控制台直接使用用户名和密码,会不安全,所以我们最好解决掉这个问题,既然已经提示了不安全,我们就不要用了。处理方法如下:

5.1、编辑my.cnf文件

vi /etc/my.cnf

5.2、看下这个文件里面有没有[mysqldump]标签,如果没有就在文件的最下面新增这个标签后在这个标签的下面新增你的数据库用户名和密码,如下格式:

user=root

password=root

保存文件退出。这个时候再使用mysqldump命令时,就不用加用户名和密码的字段了,我们把上面的msqlbak.sh代码改为如下,然后再crontab -e加入到定时运行中即可:

# Name:mysqlbak.sh

# This is a ShellScript For Auto DB Backup and Delete old Backup

#备份地址

backupdir=/var/www/BackupDatabase

#备份文件后缀时间

time=_` date +%Y_%m_%d_%H_%M_%S `

#需要备份的数据库名称

db_name=mydb

#mysqldump命令使用绝对路径,-flush-logs刷新biglog日志

mysqldump –flush-logs –databases $db_name | gzip > $backupdir/$db_name$time.sql.gz

#删除7天之前的备份文件

find $backupdir -name $db_name“*.sql.gz” -type f -mtime +7 -exec rm -rf {} \; > /dev/null 2>&1

echo “mysqlbak success”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值