可以同时解析多个binlog吗?
- GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。
- GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。
- 作者: 叶金荣
- 文章来源:GreatSQL社区原创
1.可以同时解析多个binlog吗 2.innodb_buffer_pool_instances设置多少合适
首先,答案是肯定的。
其次,当我们采用这种方式解析binlog时 $ mysqlbinlog -vvv --base64-output=decode-rows --start-position=4 --stop-position=2000 binlog.000001 binlog.000002
时,它的工作方式是这样的:
- 指定binlog停止位置的参数,只对最后一个binlog 文件生效(指定开始位置则针对第一个文件生效);
- 前面的binlog文件则是全量解析;
- 如果没有匹配的 stop-position,则向上取值最接近的position;
- 如果同时多次指定 start-position 或 stop-position,则以最后一次指定的为准;
- 如果指定的 stop-position 超出binlog的最大范围,则会发出WARN;
- 如果 stop-position 指向的最后一个event是 table_map,也会发出WARN。
我们分别举几个例子看下:a.解析多个文件,但每次指定顺序不同
$ mysqlbinlog -vvv --base64-output=decode-rows --start-position=4 --stop-position=1500 mgr01.001205 mgr01.001206 mgr01.001207 > /tmp/b1
$ mysqlbinlog -vvv --base64-output=decode-rows --start-position=4 --stop-position=1500 mgr01.001206 mgr01.001205 mgr01.001207 > /tmp/b2
$ mysqlbinlog -vvv --base64-output=decode-rows --start-position=4 --stop-position=1500 mgr01.001207 mgr01.001206 mgr01.001205 > /tmp/b3
$ ls -la /tmp/b*
-rw-r--r-- 1 root root 5027246 Oct 30 19:36 /tmp/b1
-rw-r--r-- 1 root root 5027246 Oct 30 19:21 /tmp/b2
-rw-r--r-- 1 root root 3126107 Oct 30 19:22 /tmp/b3
1. 虽然 /tmp/b1、/tmp/b2文件大小看起来一样,但其MD5SUM是不同的
$ md5sum /tmp/b*
ac8e223d417310e02366d5cbfcb4a882 /tmp/b1
6a09fddd30ab210f3370613aff85571c /tmp/b2
9e2e70e1cee5fb10860c66c2ef770c0a /tmp/b3