新搭建的OB,应该如何开启binlog呢

新搭建的OB集群,使用1-1-1架构,应该如何开启binlog呢

1 个赞

没有理解你说的 是像mysql一样配置binlog的参数么?

1 个赞

可以参考下OCP的资料:这里有详细的binlog服务管理
https://www.oceanbase.com/docs/common-ocp-1000000002077808

1 个赞

是的,官方老师好,我想启动数据迁移之前,把binlog开启,另外想问下我们如果使用canel监听binlog,binlog对应的位置在哪个地方呢

1 个赞

你可以使用ob+oblogproxy+canal canal来读取binlog日志 你可以看看这个博客
https://open.oceanbase.com/blog/10900156

嗯,这个博文我看过,我们想做一个监听binlog,然后按照我们业务需要,在设定的时候,定期做增量同步,ob+oblogproxy+canal这个方案,我记得实现完之后是实时的增量吧?我们想自己控制增量同步的时间

如果我自己使用canel监听binlog,我还没找到binlog所有的目录在哪儿

1 个赞

上面的同学发的帖子比较老了,最新的 Binlog 服务可以搭配官方原版的 canal 来使用,具体配置的时候连接信息(地址、端口、用户名和密码这些)按照连接 OBProxy 的配置填就可以。社区版 Binlog 的部署可以参考:https://www.oceanbase.com/docs/community-oblogproxy-doc-1000000001999434

OceanBase Binlog 服务的 Binlog 日志在 run/${instance_name}/data/ 目录下边,不过一般情况下你不用知道这些信息,服务的 Binlog 实例进程会模拟 MySQL 的行为,一般的 MySQL Binlog 客户端都能正常拿到 Binlog 日志数据、偏移量等这些信息。

老师您好,我们想自己使用canel读取binlog日志,这种实现方式我们比较熟悉。有没有类似mysql的一个指定文件夹,存储binlog日志文件的地方呢

如果你想单独取出来 binlog 日志文件使用,可以进到 Binlog 服务的 run/${instance_name}/data/ 目录下边找到需要的文件。不过据我了解 Canal 并不需要直接传 Binlog 日志路径,主要还是通过跟 MySQL Server 交互来获取日志 dump 的。

我上面说的 Binlog 服务事实上就伪装成了 MySQL Server,因此在用 Canal 订阅数据时,把它的 OBProxy 连接当成 MySQL Server 的连接就可以了,Binlog 日志文件列表和当前的偏移量可以通过执行 SHOW BINARY LOGSSHOW MASTER STATUS 查到。