您的位置:首页 > 数据库 > MySQL

mysql5.6通过mysqldump自动备份

2015-06-30 18:05 633 查看
感谢有奉献精神的人

转自:http://blog.csdn.net/clj198606061111/article/details/45420311

一、执行环境

操作系统:linux redhat

数据库:mysql 5.6

二、备份规划

1.数据备份位置

/opt/www/back/database/pac/data

2.备份日志位置

/opt/www/back/database/pac/logs

3.shell脚本位置

/opt/soft/scripts/mysqldaiybak.sh

4.每天凌晨3:10执行全量备份

三、my.conf配置备份用户

mysql5.6不允许直接在mysqldump 命令里面输入用户名、密码执行导出,但是允许在my.conf里面直接配置好mysqldump的用户密码,在执行mysqldump命令的时候无需显示输入用户密码了。

在/opt/soft/mysql/my.conf末尾添加如下配置项。

[plain] view
plaincopy





[mysqldump]

user=mysql_backup_user_name

password=mysql_packup_password

四、编辑shell脚本

1.创建shell脚本

mkdir /opt/soft/scripts/mysqldaiybak.sh

2.赋予shell脚本可执行权限

chmod 755 /opt/soft/scripts/mysqldaiybak.sh



3.完整的shell脚本



[plain] view
plaincopy





#!/bin/bash

#This is mysql mysqldaiybak scripts

#2015-05-01

database=kuanrf_pac

databak_dir=/opt/www/back/database/pac/data

logs_dir=/opt/www/back/database/pac/logs

dumpbin=/opt/soft/mysql/bin/mysqldump



DATE=$(date +%Y%m%d)

logFile=$logs_dir/kuanrf_pac$DATE.log



echo " " > $logFile

echo "-----------------------------------" >> $logFile

echo "kuanrf_pac backup start" >> $logFile

echo $(date +"%y-%m-%d %H:%M:%S") >> $logFile

echo "-----------------------------------" >> $logFile



$dumpbin $database >$databak_dir/kuanrf_pac_bak$DATE.sql



echo "-----------------------------------" >> $logFile

echo "kuanrf_pac backup end" >> $logFile

echo $(date +"%y-%m-%d %H:%M:%S") >> $logFile

echo "-----------------------------------" >> $logFile

五、配置定时任务

1.执行如下命令,打开定时任务配置文件

[plain] view
plaincopy





crontab -e

2.vi编辑器操作,插入如下配置项,保存

[plain] view
plaincopy





10 3 * * 1-6 /opt/soft/scripts/mysqldaiybak.sh

3.查看定时任务是否配置成功

[plain] view
plaincopy





crontab -l

4.启动crontab服务

[plain] view
plaincopy





/sbin/service crond restart

5.查看定时任务是否已经运行

[plain] view
plaincopy





ps -ax | grep cron

参考文献:

1、http://www.blogjava.net/freeman1984/archive/2010/09/23/332715.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: