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