如何定时备份Mysql数据库


1.创建备份数据库存储目录

cd data/db
mkdir backup #创建存储目录

 

2.添加备份脚本

vim backupdb.sh #创建脚本文件

脚本内容如下:

#!/bin/sh
db_name="xxxxxx" #数据库名称
name="$db_name-$(date +"%Y-%m-%d-%H-%M-%S")" #生成备份文件的名称
/usr/local/mysql/bin/mysqldump $db_name >> /data/db/backup/$name.sql #生成备份sql文件
#/usr/local/mysql/bin/mysqldump $db_name >> /data/db/backup/$name.sql >> /data/db/backup/error.log 2>&1 #可以通过将输出输入到日志文件中查看错误。
#压缩并删除原文件
cd /data/db/backup
tar -zcvf $name.sql.tar.gz $name.sql --remove-files

 

3.修改mysql配置文件

vim /etc/my.cnf
#添加
[mysqldump]
user=db_username #数据库用户
password=db_password #密码

#添加完成记得重启mysql服务
service mysqld restart

 

4.通过crontab添加定时任务执行脚本

crontab -e #编辑定时任务
0 1 * * * /bin/sh /data/db/backupdb.sh #每天凌晨一点执行备份任务

 

可能会出现的问题:

vim /var/log/cron 查看定时任务执行纪录

发现:(root) MAIL (mailed 192 bytes of output but got status 0x004b#012)
这个是执行脚本权限问题,进行以下操作:
chmod u+x backupdb.sh #给脚本添加可执行权限,如果用户用的是root只加拥有者就可以。

 

至此,便完成了定时备份Mysql数据库。。。。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM