无法获取表 - 加载架构内容时出错

问题描述 投票:0回答:13

我打开工作台并连接到 XAMPP 上的本地数据库,当打开连接时,模式显示错误消息:

“无法获取表格”

mysql-workbench workbench kie-workbench sql-workbench-j
13个回答
17
投票

在终端上运行此命令

mysql_upgrade -u root -p

13
投票

在终端上运行此命令

sudo /opt/lampp/bin/mysql_upgrade

根据@jonathan-delean 的评论,您可能需要改为运行它:

sudo /opt/lampp/bin/mysql_upgrade -u root -p

9
投票

对于 XAMPP,这对我有用 - 在终端上运行:

sudo /Applications/XAMPP/xamppfiles/bin/mysql_upgrade

断开连接然后重新连接到您的数据库。


2
投票

首先找到Xampp的安装目录。 在 Linux 中,您只需在终端中输入:

whereis xampp

在我的例子中(顺便说一句,我使用 arch,jk)它位于 /opt/lampp/bin 。如果你使用的是 Windows,你可能会在不同的位置找到它,比如 C:\Program Files\xampp in

接下来,找到文件 mysql_upgrade 并以管理员或 sudo 的身份执行它。 如果您使用的是 Linux:

cd /opt/lampp/bin
然后
sudo ./mysql_upgrade

根据 MySQL 文档:

每次升级MySQL都要执行mysql_upgrade,这 查找与升级后的 MySQL 服务器的不兼容性:它 升级 mysql 模式中的系统表,以便您可以 利用可能已经获得的新特权或能力 添加。它升级了 Performance Schema、INFORMATION_SCHEMA 和 sys 模式。它检查用户模式。

所以我相信 mysql_upgrade 应该可以解决问题。它以前对我有用。

更多关于 mysql_upgrade 的信息:

4.4.5 mysql_upgrade — 检查和升级 MySQL 表


1
投票

那是因为最新的 XAMPP 使用 MariaDB 而 MYSQL Workbench 使用的是 MYSQL 数据库,所以它们不完全兼容,例如引发该错误。您可以尝试降级到以前的一些 XAMPP 版本。


0
投票

对于 MacOS 用户:

sudo /Applications/XAMPP/bin/mysql_upgrade

0
投票

我在 MySQL workbench 中创建了另一个 Connection,解决了我的抓取问题。


0
投票

今天确实有这个问题,原因是:

Error Code: 1356 View 'test.xyz' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them

删除那些视图(实际上是那些视图)后,错误就解决了。

目前使用 MySQL Workbench 8.0.28 和 MySQL 8.0.28.


0
投票

对于 macOS 用户,在终端上运行: sudo /Applications/XAMPP/bin/mysql_upgrade 这对我有用


0
投票

观看 YouTube 视频:MySQL 8 - 消息“无法获取表” https://www.youtube.com/watch?v=phi6o8B7kKI

代码中使用的表或视图或函数已被删除;因此“......无法获取”。


0
投票

这对我有用

sudo mysql_upgrade --force


0
投票

正如 @Brittany Layne Rapheal 所说,使用该命令可以解决问题,还建议为该文件授予执行权限:

所以你应该先运行这个命令:

sudo chmod +x /Applications/XAMPP/xamppfiles/bin/mysql_upgrade

然后,这个:

sudo /Applications/XAMPP/xamppfiles/bin/mysql_upgrade --force

--force
是必要的,因为正如参数所说强制更新(必要)


0
投票

如果您之前创建了视图表并且重命名了表或任何列,那么您还必须在视图中手动更改名称

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