mysqlbinlog实战

关于mysqlbinlog命令,下列参数应用频率较高:
--base64-output:选项有三个参数,never表示不处理ROW格式日志,只处理传统的基于STATEMENT格式日志。decode-rows,解码处理,通常会与-v一起使用。auto,按照常规方式处理
-v:重组伪SQL语句的输出,专门用于ROW格式日志文件中的事件处理,若指定两次-v,那么输出信息中还包括列的数据类型信息
--set-charset:设置字符集,指定恢复操作时的字符集
-d,--database:只处理与指定数据库相关的日志
--start-datetime:指定分析的起始时间点
--stop-datetime:指定分析的结束时间点,这两个参数可用来做精确的时间点恢复
--start-position:指定分析的起始事件位置
--stop-postion:指定分析的结束事件位置

purge binary logs before now() - interval 3 day;
purge binary logs to 'mysql-bin.001000'; 把之前的日志都删掉
 
show binary logs;
show binlog events;
show binlog events in 'mysql-bin.000020';
SHOW BINLOG EVENTS [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count]
mysqlbinlog --start-position='47839' --stop-datetime='2014-12-05 8:00:00' /data/apps/mysql/data/2014-12-05-master-bin.001284 /data/apps/mysql/data/2014-12-05-master-bin.001285 | mysql -uroot -p
mysqlbinlog --start-position='120' --stop-position='956' /data/mysqldata/3306/binlog/mysql-bin.000022 | /usr/local/mysql/bin/mysql -usystem -p -S /data/mysqldata/3306/mysql.sock
mysqlbinlog -v /data/mysqldata/3306/binlog/mysql-bin.000022 > a.sql
mysqlbinlog -vv /data/mysqldata/3306/binlog/mysql-bin.000022 > a.sql
mysqlbinlog --no-defaults --start-position='47839' --stop-datetime='2014-12-05 8:00:00' /data/apps/mysql/data/2014-12-05-master-bin.001285 | mysql -uroot -p -f
mysqlbinlog --base64-output=decode-rows -vv mysql-bin.000005 mysql-bin.000006 mysql-bin.000007 mysql-bin.000008 > a.sql
mysqlbinlog --base64-output=decode-rows -vv --start-position='1009144978' --stop-position='1010617671' mysql-bin.000045 > a.sql
mysqlbinlog --base64-output=decode-rows -vv --start-datetime='2014-12-05 8:00:00' --stop-datetime='2014-12-05 9:00:00' mysql-bin.000045 > a.sql
 
原文地址:https://www.cnblogs.com/allenhu320/p/11310761.html