【问题标题】:Imported tables are not showing up in phpmyadmin [closed]导入的表未显示在 phpmyadmin [关闭]
【发布时间】:2011-04-04 14:00:50
【问题描述】:

我导出了我们的生产数据库并创建了一个名为 test 的开发数据库。使用 ssh 我将表/数据导入到开发数据库中。

mysql -u root -p -h localhost 测试 

当我使用命令行 mysql 时,我可以查看数据库结构并按预期返回行。但是,当我打开 phpmyadmin 时,“测试”数据库在那里,但它没有表,我无法选择任何数据。

知道如何解决这个问题吗?

【问题讨论】:

  • 我遇到了同样的问题。原因是更改了/tmp 目录的写入权限。我在 phpmyadmin SQL 选项卡中运行Describe TABLENAME 命令的位置失败,并显示无法写入/tmp 目录的错误消息。所以我通过chmod更改了/tmp的权限,问题就消失了。
  • 我知道,这个问题已有 10 多年的历史了,但我遇到了同样的问题并找到了另一个原因。在导入我的数据库之前,我将诸如 information_schema 等默认表添加到“隐藏数据库”设置中。我不知道为什么,只是简单地清除该字段会使所有数据库出现。一旦开发数据库出现,我就能够隐藏默认数据库。

标签: mysql phpmyadmin


【解决方案1】:

我在一个数据库中遇到了类似的问题,我想与您分享一个可能的原因/解决方案:

我已经像你一样导入了一个 .sql 文件,然后我去了 phpmyadmin,选择了数据库并惊讶:数据库中没有表,但是我去 mysql 命令行并做了一个 SHOW TABLES 并且它们确实存在。

所以这就是我的情况,原始数据库有一些用户定义的视图,这些视图在我的计算机的 mysql 用户中不存在。示例:

CREATE ALGORITHM=UNDEFINED DEFINER=admin@% SQL SECURITY DEFINER VIEW cantidades AS select (...)

用户 admin@% 在我导出数据库的原始服务器上可用,但在我的计算机上不可用。

因此,此解决方案的修复方法是添加该用户,或者删除视图并使用现有用户再次创建它们。

我选择了第二个选项: 删除视图cantidades; CREATE ALGORITHM=UNDEFINED DEFINER=root@localhost SQL SECURITY DEFINER VIEW cantidades AS select (...)

我使用 root 是因为它是我本地 XAMPP 安装的默认用户,但出于安全考虑,我建议使用您用来连接到该数据库的同一用户。

【讨论】:

  • 在过去几个小时把我的头发拉出来后,这很有效!我安装了 mysql 工作台,并且能够对我刚刚导入的数据库中的所有表和视图进行 drr,但不能在 phpmyadmin 中。我导航到 mysql 工作台中的视图部分,然后删除了所有视图和中提琴,我能够再次看到 phpmyadmin 中的表。
  • 我遇到了同样的问题。一个快速的线索,如果它也适用于你。做一个快速的 SQL 查询 SHOW TABLE STATUS;如果您收到错误提示您没有用户选择权限,则需要更改视图。
【解决方案2】:
  1. 检查您选择导入的数据库的管理员数据库用户名
  2. 通过phpmyadmin在新导入的数据库中创建同名用户。

您的问题将得到解决。

【讨论】:

    【解决方案3】:

    听起来您用于通过 phpmyadmin 连接的数据库用户没有测试数据库的权限。

    【讨论】:

    • 我使用 root 创建了数据库,并以 root 身份登录到 phpmyadmin。
    【解决方案4】:

    我不知道怎么解决,但我的同事已经解决了这个问题。不管怎么说,还是要谢谢你。原来他改变了数据库的位置......

    【讨论】:

      猜你喜欢
      • 2011-06-07
      • 1970-01-01
      • 1970-01-01
      • 2020-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-30
      • 1970-01-01
      相关资源
      最近更新 更多