【问题标题】:mysql information_schema empty and not populatingmysql information_schema 为空且未填充
【发布时间】:2016-06-26 11:39:00
【问题描述】:

使用 php 5.6.18 和 MySQL 5.7.11 运行 WAMP localhost 服务器

在我现在正在处理的项目中,我需要获取一些列数据表单 information_schema.COLUMNS 表,但 @987654323 @ DB 完全为空 - 此 DB 中的每个表都有 0 行

有关其他信息 - 我在这个 MySQL 上有 10 个不同的 DB,有些是导入的,有些是在 phpmyadmin 中从头开始制作的。
所以我完全迷路了 - 尝试谷歌但没有运气。

也许我错过了一些重要和琐碎的东西,比如 MySQL 的一些配置?

【问题讨论】:

    标签: mysql information-schema mysql-5.7


    【解决方案1】:

    执行这个查询:

    mysql> SHOW GRANTS;

    这将显示您不是以您打算使用的用户身份登录,或者该用户缺乏对相关表的权限。

    在这种情况下,用户可能根本没有权限。 MySQL 有一个名为USAGE 的特殊权限,如果您不熟悉它的含义,它的名称可能看起来有点欺骗性。这意味着您可以“使用”服务器——也就是说,您可以登录。但这就是它的全部含义。如果您拥有USAGE ON *.* 权限,这意味着您有登录服务器的权限,但没有其他权限。

    information_schema 与权限系统集成。您看不到有关您没有权限的数据库对象的信息。一个空的information_schema.columns 表表明您用于连接到服务器的用户存在权限问题。

    【讨论】:

    • 我有这个响应 - 将所有权限授予 . TO 'root'@'localhost' 那么我无法使用和查看 information_schema 数据是什么意思?如何更改此权限?
    • 该用户应该可以看到所有内容。从这里,从您获得此结果的完全相同的地方,information_schema.columns 是否仍然显示为空? SHOW DATABASES;呢?
    • 我看到 cmets 不允许 asterix - 它的 asterix 点 asterix 在 ON 和 TO 之间
    • SHOW DATABASES 显示我所有的数据库,包括 information_schema
    • 其实*和`在cmets中都有markdown的意思。 * 是斜体,` 是代码。我相信他们可以用反斜杠逃脱,但从来没有确切地知道如何。啊,在每个 ` 或 * 之前添加反斜杠会产生 `*`.`*`。
    【解决方案2】:

    当您将数据库的文件夹复制并粘贴到 mysql 文件夹中时,有时这可能会出现问题。不要这样复制。在“phpmyadmin”中使用“export”命令或在mysql命令行客户端中使用“mysqldump”命令导出数据库的最佳方法是复制数据或将数据从一个导出到另一个。它将生成“yourdata.sql”文件最后,您可以使用“phpmyadmin”中的“导出命令”导入该数据。在您的方法中,mysql 中的“MyISAM”数据库驱动程序是成功的。现代 mysql 服务器默认数据库驱动程序是“InnoDB”,复制数据库数据时不成功文件夹到另一台机器。如果你有旧机器上数据库的副本,请尝试使用“phpmyadmin”Web界面中的导出方法导出“yourdata.sql”文件。

    【讨论】:

    • 我没有移动 MySQL 文件夹中的任何文件夹,我总是通过 phpmyadmin 导入功能导入数据库,我导入的所有数据库都来自 phpmyadmin 导出的 mysql 转储文件 - .sql
    • 你试过mysql中的命令行客户端吗?如果可以使用mysql命令行客户端查看数据库和表,则没有问题。您可以继续您的开发过程。有时错误会出现在 wamp 安装中。
    • 数据库和表在 MySQL 中并且没问题,问题是 information_schema 是空的 - 没有关于我在 phpmyadmin 中导入和制作的其他 MySQL 数据库的信息
    • 对不起,这个答案很不正确。 information_schema 完全是内部的。无法导入导出,也没有对应的文件。
    • @Michael - sqlbot,如果这个答案不正确,正确答案是什么?
    【解决方案3】:

    当我将我的 mysql 文件夹转移/转移到其他位置时,我遇到了同样的问题。 并相应地配置 DB 指向 Mysql 文件夹。

    但是,尽管其余数据库查询运行良好,但 Information_schema 没有得到更新。我找不到合适的解决方案,但解决方法是通过 mysql 编辑器(如工作台)检查架构。

    您将在底部看到“信息过时”选项,然后单击分析表。你会发现 Information_schema 开始计算正确的大小和其他细节。

    【讨论】:

      猜你喜欢
      • 2019-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-11
      • 2016-12-13
      • 2017-09-05
      • 1970-01-01
      相关资源
      最近更新 更多