版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sun_ashe/article/details/82869240
mysqlbinlog远程同步binlog
mysqlbinlog是dba经常使用的工具,它常用在解析mysqld产生的binlog文件,relay log文件。但是它还有另外一个功能,就是远程获取binlog,今天要分析的就是这个功能。
功能简介
可以通过如下命令进行binlog同步
mysqlbinlog \
--read-from-remote-server \ #指定远程获取binlog模式
--raw \ #指定存储类型为二进制
--host=127.0.0.1 \ #远程服务器地址
--port=13307 \ #端口
--user=rpl \ #用户
--password=rpl \ #密码
--stop-never \ #持续同步
--result-file=/data/binlog_backup/ \ #同步目录
mysql-bin.000001 #起始binlog位置
也可以添加如下参数,指定过滤掉的事务
--exclude-gtids='7175672e-b7c4-11e7-ab82-eedc81f44372:1-3'
功能扩展
对于如上所示的功能,有如下不满意的地方
1,主从复制模式下,在master上通过show slave hosts是可以看到哪些从机连进来的,但是mysqlbinlog的复制却看不到,这是因为缺少了register的过程。
2,没有自动重连机制,端口后主动退出。
3,不支持半同步模式
4,不支持多通道,单个进程只能同步一个主上的binlog。
如果想让它做更多的工作,需要更改代码了,有时间发个版本出来。