MySQL中的LogMiner工具 -- mysqlbinlog

原贴:http://www.anysql.net/mysql/mysql_binlog_miner.html

MySQL中的LogMiner工具 -- mysqlbinlog

    在MySQL中binlog的作用和Oracle中的归档日志类似, Oracle中提供了DBMS_LOGMNR来对日志文件进行分析, 来解出Redo SQL和Undo SQL, MySQL中也提供了一个名为mysqlbinlog的工具, 用来解释或取出存放在binlog中的SQL语句, 有没有Undo SQL我到是没有研究过. 最基本的使用语法如下:

mysqlbinlog [options] log_file ...

    在选项中, 可以指定一些过滤条件, 来解出你所想用的东西, 这样的选项有:

--database=db_name, -d db_name
--offset=N, -o N
--[start|stop]-datetime=datetime
--[start|stop]-position=N

    解出来的就是一条一条SQL语句了, 将这些语句执行一下, 就等于增量恢复了, 估计不是用绑定变量的, 可能在MySQL中是不是绑定变量不是很重要了. 当然重要的一点是不要运行多个进程去跑, 因为这样的话, 顺序就得不到保证了. 如下所示:

$ mysqlbinlog binlog.000001 >  /tmp/statements.sql
$ mysqlbinlog binlog.000002 >> /tmp/statements.sql
$ mysql -e "source /tmp/statements.sql"

    Oracle的LogMiner不太爽是因为他不是离线的, 做成MySQL这样的倒是比较方便多了. 看到这儿也应当可以想象到, MySQL中的复制大约是什么回事了吧?

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值