【问题标题】:Can't find MySQL table找不到 MySQL 表
【发布时间】:2021-06-23 21:28:14
【问题描述】:

将现有的 PHP/MySQL 网站移动到新的 Windows 服务器。
奇怪的是它在同一台服务器上使用了两个数据库模式。
已导入两者的数据。我可以从 MySQL Workbench 的两种模式中查询表。

但是网站只能找到一种模式。

Uncaught exception 'Exception' with message 'MySQL query error: Table 'schema_two.tbl_any' doesn't exist on line 140'

任何代码首先从第二个模式请求数据都会失败。
如果我更改它要查找的表,仍然找不到它。
但是,如果我让它从第一个模式中查找表,则没有问题。

据我所知,用户应该可以访问这两种模式,因为该用户同时导入了这两种模式。另一方面,我在用户下有三个“root”实例,无法查看其中任何一个的架构权限。

除了用户权限之外,我想不出应该找到一个架构而不是另一个架构的场景。

结果

SELECT User, Host, plugin FROM mysql.user;

 root   localhost   mysql_native_password
 root   127.0.0.1   mysql_native_password
 root   ::1 mysql_native_password
        localhost   mysql_native_password

如果我无法提出任何建议,我将把所有这些表移到第一个模式中。 8:-(

是的,这是 PHP 的旧版本。这是一个迁移项目。

【问题讨论】:

    标签: php mysql php-5.6 mysql-5.6


    【解决方案1】:

    首先以该用户身份登录并查看可用的架构。

    是的,如果您没有遇到冲突,那么进入相同的架构可能是您最好的出路。

    【讨论】:

    • 作为我认为是同一个用户,我可以从 Workbench 的两个模式中查看和查询。如果我们没有想出其他任何东西,我会尝试创建另一个用户。移动模式将是最后的手段。
    猜你喜欢
    • 1970-01-01
    • 2013-03-23
    • 1970-01-01
    • 2014-10-09
    • 1970-01-01
    • 2013-12-22
    • 2011-09-22
    • 2016-10-01
    相关资源
    最近更新 更多