专注各种脚本编程
Baidu
加入收藏夹
本站内容有下面分类知识,欢迎您的到来^_^
shell相关:指令篇 基础篇 脚本欣赏 编程实例 shell问问 shell视频教程 技巧篇 水平测试 E文资料 vi编辑器 高级Bash脚本编程指南
其他:mysql perl c语言 oracle
当前位置:| 主页>mysql>

日志文件处理工具mysqlbinlog

百度收藏 QQ搜藏

作者: AnySQL.net,原文: http://www.anysql.net/mysql/mysql_binlog_miner.html

  MySQL中也提供了一个名为mysqlbinlog的工具, 用来解释或取出存放在binlog中的SQL语句。

mysqlbinlog最基本的使用语法如下:

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"

MySQL的binlog似乎是很简单的就是记录SQL。而且不会分解到rowid。基本上可以猜测是没有Undo SQL。MySQL在这一块设计的太简单,其replication也很简单。

上一篇:解答mysql为什么会一直有临时文件 下一篇:升级MySQL系统表的快速方法

power by soyo123 2007-2008