DMS登录RDS数据库时报“The user specified as a definer does not exist”的错误

更新时间:

问题描述

DMS登录RDS数据库时报如下错误。

The user specified as a definer ('user'@'a.b.c.d') does not exist

问题原因

登录所使用的账号不存在,该问题仅发生在RDS数据库代理模式(原高安全模式)下。

解决方案

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。
  1. 检查mysql.user表中account的信息,主要是user,host连接的account符合user里面的匹配项。
    说明:RDS MySQL 版分为高权限账号和普通账号管理,高权限账号的实例可以查询mysql.user_view表。
  2. 由于之前的数据库代理模式(原高安全模式)在某种场景下会出现资源稳定性的抖动,有可能给您的业务造成影响。为保证业务的正常稳定运行,请尽快完成RDS网络链路升级。
  3. 从高安全模式切换到标准模式时,再次进行登录测试,则报如下错误。
    ERROR 1045 (28000): Access denied for user ‘user’@’a.b.c.d’
  4. 登录RDS管理控制台,进入 账号管理 页面,重新创建用户账号。
  5. 使用DMS登录,确认故障解除。

适用于

  • 云数据库RDS