在 https://dms.aliyun.com/查看数据库没有数据表,但是直接使用 navicat访问是有数据表的

作者: koic 分类: DBMS 发布时间: 2026-09-16 15:36

在 DMS 中,查看你当前连接的数据库实例,确认登录使用的用户名是什么。

怎么确认,怎么修改

 

在阿里云 DMS 中,确认和修改数据库登录账号非常简单。请按照以下步骤操作:

一、 怎么确认(查看 DMS 当前使用的账号)

  1. 登录阿里云 DMS 控制台
  2. 在左侧的 “数据库实例” 列表中,找到你要管理的那个数据库。
  3. 鼠标右键点击该实例(或者点击实例右侧的 “更多” -> “编辑实例”)。
  4. 在弹出的“编辑实例”窗口中,找到 “数据库账号” 这一栏。
    • 这里显示的用户名,就是 DMS 目前正在用来连接数据库的账号。
  5. 进行对比:打开你的 Navicat,右键你的连接选择“编辑连接”(或“连接属性”),查看里面的“用户名”。对比两者是否一致。

二、 怎么修改(在 DMS 中更换账号)

如果确认 DMS 使用的账号和 Navicat 不一致,或者 DMS 的账号权限不够,你可以直接修改它:
  1. 就在刚才打开的 “编辑实例” 窗口中。
  2. 将 “数据库账号” 和 “数据库密码” 修改为和 Navicat 中完全一致的高权限账号(例如 root 或你的主账号)。
  3. 点击下方的 “测试连接”
    • 如果提示“连接成功”,说明账号密码正确且网络通畅。
  4. 点击 “保存”

三、 刷新 DMS 连接

修改保存后,DMS 不会立即生效,你需要重新登录该实例:
  1. 在 DMS 左侧实例列表中,右键点击该实例,选择 “关闭连接”(或注销登录)。
  2. 然后双击该实例,重新输入(或自动读取)刚刚修改后的账号密码进行登录。
  3. 登录成功后,再次查看数据表,应该就能正常显示出来了。

现在是免登录状态,我怎么切换

看到你截图中的 “免登录实例” 了,这就是问题的根源。

🔍 为什么免登录会导致看不到表?

免登录模式下,DMS 使用的是阿里云 RAM 角色授权(底层自动分配的系统账号),不是你手动输入的那个数据库账号。这个系统账号的权限通常非常有限,可能只有部分数据库的访问权,所以你看不到表。
而 Navicat 使用的是你手动配置的具体数据库账号(比如 root),权限更完整,所以能看到所有表。

🔄 切换方法:从免登录切换为手动登录

免登录实例无法直接切换为手动登录,需要删除后重新添加。 按以下步骤操作:

第一步:删除当前免登录实例

  1. 在 DMS 左侧实例列表中,找到你的免登录实例 rm-2zepx...
  2. 鼠标右键点击它,选择 “删除实例”(或点击实例旁边的 ... 更多按钮 → 删除)。
  3. 确认删除。
⚠️ 放心,这只是从 DMS 中移除该实例的显示,不会删除任何数据库数据。

第二步:重新添加实例(手动登录模式)

  1. 点击 DMS 左侧实例列表上方的 “+” 号按钮(添加实例)。
  2. 在弹出的页面中,选择 “手动录入” 或 “阿里云RDS”(根据你的情况)。
  3. 如果选择”阿里云RDS”,系统会自动列出你的 RDS 实例,选择你的实例。
  4. 关键一步:在”数据库账号”和”数据库密码”栏中,手动输入你在 Navicat 中使用的那个账号和密码(比如 root)。
  5. 点击 “测试连接”,确认成功。
  6. 点击 “保存”

第三步:重新登录实例

  1. 在左侧实例列表中双击新添加的实例。
  2. 此时会弹出登录窗口,确认账号信息无误后点击登录。
  3. 登录后,再次查看数据表列表,应该就能看到了。

这张截图很关键,问题就出在 “访问方式” 这个选项上。

🎯 你当前选的是”安全托管-自动”

这个模式下,阿里云会自动生成托管账号,也就是你之前的”免登录”状态,权限受限所以看不到表。

✅ 正确选择:”安全托管-手动”

从下拉菜单中选择 “安全托管-手动”(第二个选项),然后会出现 “数据库账号” 和 “数据库密码” 的输入框。
操作步骤:
  1. 点击下拉菜单,选择 “安全托管-手动”
  2. 在弹出的账号密码输入框中,填入你在 Navicat 中使用的那个账号和密码
  3. 点击左下角的 “测试连接”,确认连接成功。
  4. 点击右下角的 “提交”
  5. 提交成功后,双击该实例重新登录,就能看到所有数据表了。

💡 三种访问方式对比

表格

下载为表格
导出为图片
方式 说明 适合场景
安全托管-自动 系统自动生成账号,免登录 权限由阿里云统一管理,适合多人协作
安全托管-手动 手动输入账号密码,DMS 托管存储 个人使用,推荐,解决你当前问题
安全托管-KMS 手动录入,密码加密存储更严格 金融等高安全要求场景
不托管 每次登录都需手动输入密码 临时使用
选择 “安全托管-手动” 后输入你的数据库账号密码,问题就解决了。

发表回复