Mysql自动备份--dump

mysql自动备份成sql格式,脚本如下:

#/usr/local/crontab/dumpbackup

# use like this : dumpbackup db1 db2 db3 ...
#! /bin/bash


dbsum=$#
if [ "${dbsum}" -eq 0 ];then
echo "Error:no database chosed"
exit 1
fi
mkdir -p /opt/hotbackup/innodb/
backdir=/opt/hotbackup/innodb/
touch  /var/log/pixplayerbackup.log
datetime=`date +"%Y%m%d%H%M"`

filesum=`ls  ${backdir} | wc -l`
if [ "${filesum}" -ge 5 ];then
cd ${backdir}
rm -rf `ls | head -1`
fi
cd /usr/local/mysql/bin

for i in $*;do
echo "backing up for database $i starting ..."
/usr/local/mysql/bin/mysqldump -uroot -p123456 --master-data=2 --flush-logs --opt --default-character-set=utf8 $i > ${backdir}$i.sql
echo "backing up for database $i completed"
done
echo "tar and gzip the backed file now ..."
cd ${backdir}
tar -c *.sql | gzip >./${datetime}.tar.gz
rm -rf *.sql
echo "all success ! you  can find the backed file in ${backdir} suffixed by .tar.gz"
exit 0

脚本说明,保留最近5天的备份,将数据库备份成sql格式,这种备份能保证数据备份的完整性及正确性。

备注:
mysqldump命令说明:
--databases (--all-databases)
这个选项是备份所有的数据库。

--add-drop-table
这个选项将会在每一个表的前面加上DROP TABLE IF EXISTS语句,这样可以保证IMPORT您的MySQL数据库的时候不会出错,因为每次导回的时候,都会首先检查表是否存在,存在就删除。

--add-locks
这个选项会在INSERT语句中捆上一个LOCK TABLE和UNLOCK TABLE语句。这就防止在这些记录被再次导入数据库时其他用户对表进行的操作.此时,mysqldump命令给每一个产生INSERT语句加上列(field)的名字。当把数据导出导另外一个数据库时这个选项很有用。

-F or -flush-logs
在执行导出之前将会刷新MySQL服务器的log。

-f or -force
即使有错误发生,仍然继续导出。

-l or --lock-tables
导出表的时候服务器将会给表加锁。(同上:--add-locks)

--opt
此选项将打开所有会提高文件导出速度和创造一个可以更快导入的文件的选项。
如果没有使用--opt,MYSQLDUMP就会把整个结果集装载到内存中,然后导出。如果数据非常大就会导致导出失败。这个开关在默认情况下是启用的,如果不想启用它:--skip-opt来关闭它。)

-R
如果要导出存储过程,加 -R开关即可。

--master-data
该选项可以会将当前mysql使用的binlog日志的名称和位置记录到dump中,方便进行在线搭建从服务器,也可以在某些恢复的过程中通过备份的binlog做进一步的恢复操作。
如果--master-data=2,以注释的形式存在
如果--master-data=1,不已注释的形式存在

--no-data
紧紧dump数据库结构创建脚本

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oligaga

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值