我打开工作台并连接到 XAMPP 上的本地数据库,当打开连接时,模式显示错误消息:
“无法获取表格”
在终端上运行此命令
mysql_upgrade -u root -p
在终端上运行此命令
sudo /opt/lampp/bin/mysql_upgrade
根据@jonathan-delean 的评论,您可能需要改为运行它:
sudo /opt/lampp/bin/mysql_upgrade -u root -p
对于 XAMPP,这对我有用 - 在终端上运行:
sudo /Applications/XAMPP/xamppfiles/bin/mysql_upgrade
断开连接然后重新连接到您的数据库。
首先找到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 的信息:
那是因为最新的 XAMPP 使用 MariaDB 而 MYSQL Workbench 使用的是 MYSQL 数据库,所以它们不完全兼容,例如引发该错误。您可以尝试降级到以前的一些 XAMPP 版本。
对于 MacOS 用户:
sudo /Applications/XAMPP/bin/mysql_upgrade
我在 MySQL workbench 中创建了另一个 Connection,解决了我的抓取问题。
对于 macOS 用户,在终端上运行: sudo /Applications/XAMPP/bin/mysql_upgrade 这对我有用
观看 YouTube 视频:MySQL 8 - 消息“无法获取表” https://www.youtube.com/watch?v=phi6o8B7kKI
代码中使用的表或视图或函数已被删除;因此“......无法获取”。
这对我有用
sudo mysql_upgrade --force
正如 @Brittany Layne Rapheal 所说,使用该命令可以解决问题,还建议为该文件授予执行权限:
所以你应该先运行这个命令:
sudo chmod +x /Applications/XAMPP/xamppfiles/bin/mysql_upgrade
然后,这个:
sudo /Applications/XAMPP/xamppfiles/bin/mysql_upgrade --force
是必要的,因为正如参数所说强制更新(必要)--force
如果您之前创建了视图表并且重命名了表或任何列,那么您还必须在视图中手动更改名称