在使用DMS(数据管理服务)时,可能会遇到各种问题。以下是针对常见问题的详细解答和解决方案:
1. 性能功能授权问题
如果您在使用DMS的性能功能时收到提示,要求授权DAS访问云资源信息,可以按照以下步骤解决:
-
主账号用户:
- 点击提示中的蓝色文字链接,跳转至授权页面。
- 单击“同意授权”按钮完成授权操作。
-
子账号用户:
注意:DMS的性能功能依赖于DAS提供服务,若对应的云数据库账号未开通DAS,则会出现此提示。
2. 白名单设置问题
在录入阿里云数据库时,如果提示白名单问题,可以按照以下步骤解决:
- 单击提示框中的设置白名单按钮,系统将自动尝试在云数据库的白名单中添加DMS的服务器访问地址。
- 如果自动添加失败,请手动添加DMS的IP地址。具体操作请参考相关文档中的“添加DMS IP地址”部分。
3. Redis开启TLS/SSL后连接失败
如果Redis开启了TLS(SSL)加密协议,通过DMS登录时提示必须使用SSL连接,可以按照以下步骤解决:
- 登录数据管理DMS 5.0。
- 在DMS首页左侧的数据库实例 > 未登录实例列表中,找到目标Redis实例,右键单击并选择编辑实例。
- 在高级信息区域,启用开启SSL选项。
- 开启后,单击测试连接以验证配置是否正确。
- 测试成功后,单击保存。
4. “Duplicate entry: XXXX”报错
在使用新版DMS控制台进行变更时,可能会出现“Duplicate entry: XXXX”的报错。以下是不同场景下的原因及解决方法:
场景1:DML操作(insert、update)
- 原因:表中存在的唯一约束或唯一索引已有对应数据。
- 解决方法:
- 确认唯一约束或唯一索引的合理性。
- 检查实例中已有的唯一键值数据是否合理(是否可以清理)。
- 若均合理,确认当前需求是否可以调整。
场景2:DDL操作(添加或调整唯一约束/索引)
- 原因:对数据表调整或新增的唯一约束或唯一索引已存在重复数据。
- 解决方法:
- 确认唯一约束或唯一索引的合理性。
- 清理重复数据后重新执行失败的任务。
场景3:高并发访问导致的DDL失败
- 原因:MySQL的online DDL机制在目标表存在高并发访问时可能出现冲突。
- 解决方法:
- RDS实例:
- 等待业务低峰期再进行变更。
- 联系DBA处理(如何查看DBA信息请参见相关文档)。
- 非RDS实例:使用无锁数据变更功能进行变更。
5. 登录数据库时的常见问题
问题1:连接地址错误
- 解决方法:
- 前往RDS控制台,确认实例状态是否正常。
- 若实例状态正常,在DMS中刷新同步该实例的元数据。
- 若实例状态异常,请排查异常原因。警告:如果业务允许,可尝试重启实例,但重启会导致约30秒的连接中断,请谨慎操作。
问题2:无法通过DMS访问实例
- 可能原因:实例Owner或管理员未授予您当前账号登录实例的权限。
- 解决方法:联系管理员为您授予实例的登录权限。
问题3:MySQL连接失败(Communications link failure)
- 可能原因及解决方法:
- 连接耗时为0毫秒:检查数据库账号和密码是否正确,以及白名单设置是否正确。
- 连接耗时在几十毫秒以内:检查实例是否已开启SSL及证书是否过期。
6. Redis通用异常
异常1:ERR max number of clients reached
- 可能原因:客户端连接数超过Tair实例的最大连接数。
- 解决方法:
- 检查客户端是否存在连接泄露(如Jedis客户端未调用
close
函数)。
- 查看当前会话是否符合预期,终止异常会话或升级实例配置以扩大连接数。
异常2:NOAUTH Authentication required 或 WRONGPASS invalid username-password pair
- 可能原因:密码错误或未提供密码。
- 解决方法:确保使用正确的账号密码进行访问。如果在DMS中保存了旧密码,请更新为新密码。
异常3:Connection reset by peer
- 可能原因:客户端缓冲区异常导致连接被关闭。
- 解决方法:检查应用侧代码或调整客户端Buffer大小。
异常4:UnknownHostException 或域名解析失败
- 可能原因:客户端无法解析Tair实例的域名地址。
- 解决方法:设置正确的DNS服务器地址。
7. 其他注意事项
- 自由操作模式:DMS仍然支持自由操作模式。当您不选择稳定变更和安全协同模式时,默认实例为自由操作模式。
- 技术支持:如果上述方法无法解决问题,可以通过钉钉群(群号:21991247)联系DMS技术支持团队。
以上是针对DMS使用过程中常见问题的详细解答和解决方案。如有进一步疑问,请随时联系技术支持团队。