mysqlbinlog的使用

查看log



读取log-bin二进制文件的内容

1、mysqlbinlog mysql-bin.000002 >  ./out.log    #将二进制日志文件输出到指定文件(方便查看)

输出的一条完整记录的如下:

SET TIMESTAMP=1521166132/*!*/;
SET @@session.sql_mode=0/*!*/;
BEGIN
/*!*/;
# at 502
#180316 10:08:52 server id 1  end_log_pos 768 CRC32 0xdc818866 	Query	thread_id=53	exec_time=0	error_code=0
SET TIMESTAMP=1521166132/*!*/;
update `wuxiang_default_db`.obj_order_product set package_id='S18031500818A', out_stock_id='1', modify_date='2018-03-16 10:08:52'  where reference_id_value='163954'
/*!*/;
# at 768
#180316 10:08:52 server id 1  end_log_pos 799 CRC32 0x795a45a5 	Xid = 396
COMMIT/*!*/;
# at 799
#180316 10:08:52 server id 1  end_log_pos 906 CRC32 0xb0dcf7c3 	Query	thread_id=54	exec_time=0	error_code=0
SET TIMESTAMP=1521166132/*!*/;    #执行的世界戳(秒)执行的sql如下
update `wuxiang_default_db`.obj_order_product set package_id='S18031500818A', out_stock_id='1', modify_date='2018-03-16 10:08:52'  where reference_id_value='163954'

server id 1                        #服务器的id
end_log_pos 799                    #pos点
thread_id=54	                   #线程号
exec_time=0                        #执行时间
2。show binlog events [in 'log_name' ]  [from pos]  [limt 0,10] 
show binlog events in 'mysql-bin.000001' FROM 896  limit 1,10  

注意pos需要时存在的pos点,不然会有以下的错误

结果如下:


开始主要讲mysqlbinlog

mysqlbinliog主要参数如下:

常用选项:
          --start-position=1374                   起始pos点
          --stop-position=1405                    结束pos点
          --start-datetime="2017-12-29 10:10:30"  起始时间点
          --stop-datetime="2017-12-29 11:33:22"   结束时间点
           
        --database=zyyshop                      指定数据库

不常用选项:
           -u, --user=name     Connect to the remote server as username.
           -uroot 或者 --user=root
           -p, --password[=name] Password to connect to remote server
           -proot 或者 --paswrod=root
           -h, --host=name     Get the binlog from server
       和--read-from-remote-server一起用
          -h 120.77.255.38 --read-from-remote-server
         -R,--read-from-remote-server      Read binary logs from a MySQL server
           --base64-output=name               Determine when the output statements(auto,decode-rows,nerver)

              --base64-output=decode-rows

 个人爱好选项

            --short-form,-s    只显示日志中包含的语句,不显示其它信息(如: set @session....)

            --result-file=name, -r name    将输出指向给定的文件。

            ---database=db_name,-d db_name     只列出该数据库的条目(只用本地日志)。
            --force-read,-f     使用该选项,如果mysqlbinlog读它不能识别的二进制日志事件,它会打印警告,忽略该事件并继    续。没有该选项,如果mysqlbinlog读到此类事件则停止。

使用例子:


mysqlbin 恢复的语法格式是:

mysqlbinlog mysql-bin.000xxx | mysql -u用户名 -p密码 数据库名

http://blog.csdn.net/nuli888/article/details/52117646      #其他资料链接

http://blog.csdn.net/arkblue/article/details/50912640       #其他资料链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

廖钺焕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值