本文介绍如何为PolarDB集群开启Binlog功能。

前提条件

集群创建于2019年4月5日之后。如果是在2019年4月5日之前创建的集群,暂时需要提交工单进行小版本升级,之后即可在控制台手动开启Binlog。

背景信息

PolarDB是一款完全兼容MySQL的云原生数据库,默认使用了更高级别的物理日志代替Binlog,但为了更好地与MySQL生态融合,PolarDB上线了开启Binlog的功能,开启Binlog后您就可以连接ElasticSearchAnalyticDB等数据产品,也可以搭建PolarDB到RDSRDS到PolarDB或PolarDB之间的数据实时同步。

收费说明

Binlog的空间属于集群存储空间的一部分,需要收取存储费用

注意事项

  • 开启后Binlog默认保存2周,超出两周的Binlog文件会被自动删除。您可以修改参数loose_expire_logs_hours(取值范围0~2376,单位:小时)以设置Binlog的保存时长。0表示不自动删除Binlog文件。
  • Binlog功能默认关闭,开启Binlog需要重启实例,会造成连接中断,重启前请做好业务安排,谨慎操作。
  • 开启Binlog后会导致写性能下降,读性能不受影响。
  • 拉取、订阅或同步Binlog(例如使用DTS等工具)时,建议使用PolarDB的主地址,因为直接指向生成Binlog的主节点,具有更好的兼容性和稳定性。您可以在基本信息页面查看主地址,如下图所示。开启Binlog_PolarDB MySQL数据库_云数据库PolarDB 阿里云技术文档 第1张

开启Binlog的操作步骤

  1. 登录PolarDB控制台
  2. 选择地域。
  3. 找到目标集群,单击集群名称列的集群ID。
  4. 在左侧导航栏中选择配置与管理 > 参数配置
  5. 搜索loose_polar_log_bin,修改当前值,并单击提交修改开启Binlog_PolarDB MySQL数据库_云数据库PolarDB 阿里云技术文档 第2张
    说明
    • 数据库引擎为MySQL 5.6的PolarDB集群,当前值修改为ON_WITH_GTID
    • 数据库引擎为MySQL 8.0的PolarDB集群,当前值修改为ON
  6. 在右侧提示重启的对话框中单击确定
    说明 如果报错提示Custins minor version does not support current action,请提交工单开启。

常见问题

  • Binlog能保存多久?

    答:Binlog默认保存2周,超出两周的Binlog文件会被自动删除。您可以修改参数loose_expire_logs_hours(取值范围0~2376,单位:小时)以设置Binlog的保存时长。0表示不自动删除Binlog文件。

  • 开启Binlog后可以关闭吗?

    答:将参数loose_polar_log_bin修改为OFF并提交即可关闭。关闭后已有的Binlog不会被删除。

  • 开启Binlog对性能影响有多大?

    答:测试数据显示,在64线程并发下,开启Binlog后会有30%~40%的写性能衰减(性能衰减随并发增加而减少,后续将会持续优化),读性能不受影响。对于读多写少的业务场景,整体数据库性能影响较小,例如读写比是4:1的数据库,整体性能影响大约是10%。