在RDS MySQL和PolarDB MySQL中执行SQL查询语句时提示“Query execution was interrupted, max_statement_time exceeded”错误

更新时间:

问题描述

在阿里云云数据库RDS MySQL和云原生关系型数据库PolarDB MySQL中执行SQL查询语句时,提示以下错误:

Query execution was interrupted, max_statement_time exceeded

问题原因

SQL查询时间超过以下参数的值,查询将会自动失败。该参数用于控制查询在MySQL的最长执行时间,默认为0,单位为毫秒。

  • MySQL 5.6:loose_max_statement_time
  • MySQL 5.7:loose_max_execution_time
  • MySQL 5.8:max_execution_time

解决方案

如果您想要控制数据库中SQL的执行时间,请参见以下操作,根据现场实际情况进行处理:

  • 方法一:在实例控制台修改SQL查询超时时间:
    • 云数据库RDS MySQL:
      1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
      2. 在左侧导航栏中单击参数设置
      3. 可修改参数页签内找到需要修改的参数,单击运行参数值列的铅笔
      4. 根据提示的取值范围输入参数值,单击确定
      5. 在右上角单击提交参数,并在弹出的窗口中,选择生效的时间段,您可以选择立即生效可维护时间段生效用户指定时间段生效
    • 云原生关系型数据库PolarDB MySQL:
      请参见设置集群参数和节点参数,修改参数值。
  • 方法二:登录数据传输服务DMS控制台修改SQL查询超时时间:
    1. 登录数据管理DMS 5.0
    2. 在DMS首页左侧实例列表的右上角,单击新增实例/批量录入
    3. 新增实例对话框,单击云数据库页签,选择数据库类型
    4. 高级信息区域,输入查询超时时间


    5. 展开基本信息,单击左下角的测试连接
    6. 测试连接成功后,单击提交

适用于

  • 云数据库RDS MySQL
  • 云原生关系型数据库PolarDB MySQL引擎