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

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

更新时间:2019-12-31 17:18:55

问题描述

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

 

如果您的问题仍未解决,您可以在阿里云社区免费咨询,或提交工单联系阿里云技术支持。