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