## 实验环境 此次实验的环境如下 - MySQL 5.7.25 - Redhat 6.10 - binlog模式采用row模式 前面的一些章节我们对mysqldump常用命令进行了讲解 这个专题的内容为mysqlbinlog命令的详解 mysqlbinlog是MySQL中用来处理binlog的工具 这节的内容为mysqlbinlog的一些其他的参数 这里也并非介绍了所有的参数,只是列举了其中的一些 所有参数参看参考链接 ## 1. --bind-address 如果客户端有多张网卡时,这里指定使用哪张网卡进行连接 ``` mysqlbinlog --bind-address=11.12.14.30 --read-from-remote-server --host 11.12.14.29 --user system --password --port 3306 --protocol=tcp -vv mysql-bin.000001 ``` ## 2. --database 指定该参数时表示只列出该数据库的信息 ``` mysqlbinlog -v --database=test /path/to/log/master-bin.000001 ``` [image:588 size:orig] 上图上有个warning,说的是如果用--database了,可能会过滤掉一些事务 比如一个事务涉及到2个数据库,这时会输出GTID信息 我们可以再使用--exclude-gtids 或这--include-gtids 来排除或包含gtid ## 3. --force-if-open 无论二进制是否正在使用或者未正常关闭都读取他 ``` mysqlbinlog -v --force-if-open /path/to/log/master-bin.000001 ``` ## 4. --offset 跳过前N条事件,注意这里指的是事件数,一条事件可能占用很多position [image:589 size:orig] position 4为头部信息,总是会显示 ## 5. --version 打印版本信息并退出 [image:590 size:orig] ## 6. --disable-log-bin 在使用mysqlbinlog恢复时不写binlog 日志,这样可以增加恢复速度 ``` mysqlbinlog --start-datetime="2019-04-16 08:00:00" --disable-log-bin /path/to/log/master-bin.000007 | mysql -h127.0.0.1 -usystem -P3306 -p ``` ## 7. 参考链接 [https://dev.mysql.com/doc/refman/5.7/en/mysqlbinlog.html](https://dev.mysql.com/doc/refman/5.7/en/mysqlbinlog.html) 好了 今天的内容就说到这里,下节再见