mysql information_schema为空而没有填充

时间:2016-06-26 11:39:01

标签: mysql information-schema mysql-5.7

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

在我正在进行的项目中,我需要从information_schema获取一些列数据。{{1} }表,但是COLUMNS DB是完全空的 - 这个数据库中每个表有0行

有关其他信息 - 我在这个MySQL上有10个不同的数据库,有些是导入的,有的是制作的在phpmyadmin从头开始。
所以我完全失去了 - 试图谷歌但没有运气。

也许我想念一些必要的和微不足道的东西像MySQL的一些配置?

3 个答案:

答案 0 :(得分:1)

执行此查询:

mysql> SHOW GRANTS;

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

在这种情况下,用户可能根本没有权限。 MySQL有一个名为USAGE的特殊权限,如果您不熟悉它的含义,它可能看起来有点具有欺骗性。这意味着你可以使用"服务器 - 也就是说,你可以登录。但这就是它的意思。如果您拥有 USAGE ON *.*权限,则表示您有权登录服务器,但对其他任何内容都没有权限。

information_schema与权限系统集成在一起。您无法查看有关您没有权限的数据库对象的信息。空information_schema.columns表表示您用于连接服务器的用户的权限问题。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

但是,尽管其余DB查询运行良好,但Information_schema并未得到更新。我找不到合适的解决方案,但解决方法是从mysql编辑器(如工作台)来检查架构。

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