mysql information_schema为空而没有填充

问题描述 投票:3回答:3

运行WAMP localhost服务器使用php 5.6.18和MySQL 5.7.11 在我正在进行的项目中,我需要从information_schema.COLUMNS表中获取一些列数据,但information_schema DB完全为空 - 此DB中的每个表都有0行 有关其他信息 - 我在这个MySQL上有10个不同的数据库,有些是导入的,有些是在phpmyadmin从头开始制作的。 所以我完全失去了 - 试图谷歌但没有运气。 也许我想念一些必要的和微不足道的东西,如MySQL的一些配置?

mysql information-schema mysql-5.7
3个回答
1
投票

执行此查询:

mysql> SHOW GRANTS;

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

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

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


0
投票

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


0
投票

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

但是,尽管其他数据库查询运行正常,但Information_schema没有得到更新。我找不到合适的解决方案但是方法是从mysql编辑器(如workbench)检查模式。

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

© www.soinside.com 2019 - 2024. All rights reserved.