MySQL-Binlog解析篇:3 show master status
上一节,成功登陆后,可以开始发送" show master status"命令了。
==========================================
channel.write(new QueryCommand("show master status"));
那么具体的协议是什么呢?
1)长度,3个字节,小端模式
2)命令,因为不是验证命令,所以这里填0,1个字节。
3)具体的命令,因为是查询,所以先写一个3,1个字节,3是查询模式。
4)后面具体的命令,"show master status",注意,后面没有\0.
=====================================================
然后开始读取响应。
1)先读取一个响应,如果第一个字节为0XFF,则是错误
2)继续读一个完整的响应,一直到第一个字节为0XFE.
3)继续读,第一个字节不是0XFE的,则里面的内容为有效字节。
4)继续读一个完整的响应,一直到第一个字节为0XFE.退出。
至此,已经读取出了有效的内容。
不过我这里报错,
百度一下,查找问题原因,为什么show master status是这样的结果。
因为我的数据库没有开启对应的标志位。
如何开启?
参考《高性能mysql》438页即可,不赘述。
转载于:https://my.oschina.net/qiangzigege/blog/540976