当只读实例产生阻塞时,会严重影响业务,可以通过修改只读实例的权重将读请求暂时不发往该只读实例。

背景信息

当主实例执行复杂SQL语句后,将binlog日志传给只读实例,只读实例根据日志内容执行相同操作来同步主实例,因此执行复杂SQL语句可能会导致在部分只读实例上产生临时阻塞,必须等待所有传来的binlog日志内容都被执行完毕才会完成同步。

当发现无法同步的只读实例时,可以通过show processlist;查看线程占用情况,确定问题。

说明
  • 实例需要为MySQL 5.6/5.7高可用版或三节点企业版(原金融版)。
  • 只有开通了读写分离功能才可以设置读权重。

操作步骤

  1. 登录RDS管理控制台
  2. 在页面左上角,选择实例所在地域。
  3. 找到目标实例,单击实例ID。
  4. 在左侧导航栏中单击数据库代理
  5. 单击读写分离页签,然后单击右侧设置读写分离


  6. 在弹框中选择读权重分配 > 自定义,将出问题的只读实例权重设置为0,单击确定


    说明
    • 读权重为0表示读请求不会再发往该实例,就不会对业务产生影响。
    • 复杂SQL语句执行完毕后,确定该只读实例已经同步后,再将权重修改回去。