连接RDS MySQL时报错has more than 'max_user_connections'或has exceeded the 'max_user_connections'

max_user_connections是指用户最大连接数。如果出现has more than 'max_user_connections' active connections或User 'xxx' has exceeded the 'max_user_connections' resource等有关用户最大连接数已满的报错,您可以参照本文进行操作,解决报错问题。

问题现象

通过DMS控制台或者数据库客户端无法连接RDS MySQL数据库,且提示“max_user_connections”相关错误信息。

问题原因

RDS MySQL数据库的连接数已满,导致不能正常连接。

解决方案

  1. 查看数据库实例会话连接详情。
    1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
    2. 在左侧导航栏中,选择自治服务(原CloudDBA) > 一键诊断
    3. 单击会话管理,在会话管理页签查看数据库实例的会话连接详情。详细内容请参见实例会话
  2. 查看数据库实例的max_user_connections配置。

    您可以通过以下两种方式查看max_user_connections参数值:

    • 在RDS控制台查看:
      1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
      2. 在左侧导航栏中,单击参数设置
      3. 可修改参数页签中查看max_user_connections参数值。
    • 登录RDS MySQL数据库,执行如下命令查看max_user_connections的参数值。

      show variables like 'max_user_connections';

  3. 在确认内存资源充足的情况下,将max_user_connections的参数值修改为更大的值。详情请参见修改最大连接数
  4. 如果上述方法不能解决问题,您还可以尝试以下方法: