第26章 Mysql日志(二进制日志和错误日志),mysqlbinlog命令使用,binlog过滤指定表数据

一、binlog过滤指定表数据

通过binlog过滤某一条记录信息:
1、根据binlog日志生成时间,确定要分析的binlog文具。
2、根据时间过滤:
mysqlbinlog -v --start-datetime='2019-10-11 00:00:00' --stop-datetime="2019-10-11 10:00:00" binlog.0000016.log | grep keyName -C200  //-C:上下文
 

二、日志

1,错误日志:任何严重错误无法启动时,先查看。

--log-error[=file_name] :指定保存错误日志的位置
host_name.err 默认日志 datadir 默认目录

 

 

 

2,二进制日志

--log-bin[file_name]
host-bin

 

参考rul:http://blog.csdn.net/zyz511919766/article/details/38089393 #博客标题:使用mysqlbinlog工具进行基于位置或时间点的数据恢复

 

1,
show binary logs; #查询已有的二进制日志。同:show master logs;
2,
show binlog events in 'mysql-bin.000001'; #查看具体二进制日志的事件。 参数注意单引号不能少。
SHOW BINLOG EVENTS   [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count]



3,flush logs; #会产生新编号的二进制日志文件
4, reset master; #会清空所有的二进制日志文件,并从新编号。谨慎执行!


5,删除
PURGE BINARY LOGS TO 'mysql-bin.010'; #删除mysql-bin.010之前的二进制日志文件,mysql-bin.010则个文件不删除。
PURGE BINARY LOGS BEFORE '2008-04-02 22:46:26'; #删除'2008-04-02 22:46:26'时间点之前的二进制日志文件。删除单位为整个文件,并不是真正基于时间点的删除。


6,在二进制日志中查看伪sql
mysqlbinlog -v mysql-bin.010#有伪sql
mysqlbinlog -vv mysql-bin.010#更具体,有具体数据类型
7,mysqlbinlog的参数
数据恢复:
方法1:mysqlbinlog  VMS00781-bin.000001 | mysql -uusername -p  #直接恢复
方法2(推荐):mysqlbinlog  VMS00781-bin.000001 > /tmp/VMS00781-bin.000001.sql
mysql>source /tmp/VMS00781-bin.000001.sql  


-d db_name #过滤指定数据库
--force-read, -f #读到无法识别的日志山城警告并继续执行。默认是停止。
--start-datetime=datetime
--stop-datetime=datetime 
--start-position=N, -j N
--stop-position=N
#无论位置或时间截取,计算方式都是包括头不包括尾

多文件合并:
mysqlbinlog  VMS00781-bin.000001  VMS00781-bin.000002 VMS00781-bin.000003 --start-position=NNNNNN --stop-datetime=datetime | mysql -uusername -p
或mysqlbinlog  VMS00781-bin.00000[1-3] --start-position=NNNNNN --stop-datetime=datetime | mysql -uusername -p


当多个二进制日志文件同时执行时,--start-position和--stop-position分别只应用于第一个列出的二进制日志文件和最后一个列出的二进制日志文件

二进制日志的删除:

http://blog.csdn.net/lxpbs8851/article/details/7328916

reset master / reset slave [all]命令解释 #不要轻易执行

https://www.douban.com/note/446551760/

你可能感兴趣的:(Mysql综合)