在实际工作中,经常有一不小心误删除数据库或表而后悔莫及的事件发生,这有没有后悔药可吃呢?今天介绍的延时备份就可以做到。
延时备份让slave滞后于master一段时间,当你误操作时只要立即停止slave的同步,即可轻松地从延时备份库中找回你误删的数据。
下面介绍使用maatkit工具集中mk-slave-delay来实现延时备份。
1、 maatkit工具集简介
官方:http://www.maatkit.org/doc/
maatkit是一个包括多个实用MySQL的工具集,使用它们,可以让你的MySQL服务器使用起来更加方便也更加安全。maatkit是开源的软件,你可以自由的改进软件并将自己作出的改进版本向社会发行传播。
maatkit工具目前包含26个不同功能的工具。
主要有:
mk-archiver,mk-audit,mk-find,mk-kill,mk-heartbeat,mk-query-digest,mk-parallel-dump,mk-parallel-restore,mk-show-grants ,mk-slave-delay,mk-slave-move,mk-slave-restart等工具。
顾名思义mk-slave-delay是延时备份工具。mk-slave-delay控制MySQL slave端,使它滞后于其master。
2、 maatkit安装
下载:http://code.google.com/p/maatkit/
安装步骤:
tar -zxf maatkit-.tar.gz
cd maatkit-
perl Makefile.PL
make install
###
# make install
….
Installing /usr/bin/mk-index-usage
Installing /usr/bin/mk-slave-delay
Installing /usr/bin/mk-archiver
Installing /usr/bin/mk-checksum-filter
Installing /usr/bin/mk-slave-prefetch
Installing /usr/bin/mk-log-player
Installing /usr/bin/mk-query-profiler
Installing /usr/bin/mk-slave-move
Installing /usr/bin/mk-query-digest
Installing /usr/bin/mk-show-grants
Installing /usr/bin/mk-parallel-restore
Installing /usr/bin/mk-profile-compact
Installing /usr/bin/mk-find
Installing /usr/bin/mk-table-checksum
Installing /usr/bin/mk-fifo-split
Installing /usr/bin/mk-error-log
Installing /usr/bin/mk-visual-explain
Installing /usr/bin/mk-variable-advisor
Installing /usr/bin/mk-kill
Installing /usr/bin/mk-heartbeat
Installing /usr/bin/mk-purge-logs
Installing /usr/bin/mk-query-advisor
Installing /usr/bin/mk-parallel-dump
Installing /usr/bin/mk-merge-mqd-results
Installing /usr/bin/mk-duplicate-key-checker
Installing /usr/bin/mk-upgrade
Installing /usr/bin/mk-deadlock-logger
Installing /usr/bin/mk-slave-restart
Installing /usr/bin/mk-slave-find
Installing /usr/bin/mk-loadavg
Installing /usr/bin/mk-table-sync
3、 文档帮助
man /usr/bin/mk-slave-delay
/usr/bin/mk-slave-delay –help
4、 mk-slave-delay使用
示例:
mk-slave-delay –delay 1m –interval 15s –run-time 10m slavehost
延时运行10分钟,slave滞后master1分钟,15秒检查下次延时情况。
详细参数说明:
Usage: mk-slave-delay [OPTION...] SLAVE-HOST [MASTER-HOST]
Options:
–ask-pass Prompt for a password when connecting to MySQL
–charset=s -A Default character set
–config=A Read this comma-separated list of config files; if
specified, this must be the first option on the command
line
–[no]continue Continue replication normally on exit (default yes)
–daemonize Fork to the background and detach from the shell
–defaults-file=s -F Only read mysql options from the given file
–delay=m How far the slave should lag its master (default 1h).
Optional suffix s=seconds, m=minutes, h=hours, d=days;
if no suffix, s is used.
–help Show help and exit
–host=s -h Connect to host
–interval=m How frequently mk-slave-delay should check whether the
slave needs to be started or stopped (default 1m).
Optional suffix s=seconds, m=minutes, h=hours, d=days;
if no suffix, s is used.
–lo |