linux下定时备份Mysql

发布网友 发布时间:2022-04-22 10:07

我来回答

3个回答

热心网友 时间:2022-04-07 20:17

你的root没有密码吗?

建议使用crontab+shell脚本来备份

#!/bin/bash
#This shell cript for backup mysql database
#Date:2014-9-25
USER=
PASSWORD=
DATABASE=
DIR=
DATE=`date '+%Y\%m\%d-%H:%M'`
DATE1=`date -d last-month '+%Y\%m\%d-%H:%M'`
HOST=
LOG=/root/mysqlbk.log
COM=mysqlmp
DEL=$DATE1.sql
OPT="-h $HOST -u $USER -p$PASSWORD $DATABASE"
$COM $OPT > $DIR/$DATE.sql
if [ $? -eq 0 ]
then
SIZE=` -h $DIR/$DATE.sql | awk '{print $1}'`

rm -f $DIR/$DEL

        echo "$DATE     $SIZE        Mysql backup successfully        $DEL was removed" >> $LOG
else
        echo "$DATE                  Mysql backup failed" >> $LOG
fi


这是我自己写的一个备份脚本,USER DATABASE 这是mysql的用户名和密码 DIR是备份的路径

HOST是要备份的mysql的ip地址  我这里是远程备份,如果你的是本地备份的话,可以把HOST给去掉,然后去掉OPT中 -h $HOST ,如果没有密码 就把PASSWORD去掉,还有OPT中的-p 选项以及$PASSWORD , if语句是判断脚本是否执行成功  好吧 如果有什么不明白的再问我吧

热心网友 时间:2022-04-07 21:35

crontab + mysqlmp + shell 脚本
其实mysql的备份最好就用mysql自带的mysqlmp命令来进行备份,这个现在我们公司的几个生产环境的mysql都是用的这种方式进行的,要恢复时候直接用mysql命令恢复就OK了
请采纳。追问用了shell脚本了,还是不行

热心网友 时间:2022-04-07 23:10

在crontab里你的mysqlmp gzip date 需要用绝对路径。另外把mysqlmp前的root去掉,类似下面这样:

30 1 * * * /usr/local/mysql/bin/mysqlmp -u root --all-databases | /bin/gzip > /opt/Mysqldatabasebackup/database_`/bin/date '+%m-%d-%Y'`.sql.gz

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com