gpt4 book ai didi

php - 一个用户使用来自多个数据库的信息

转载 作者:行者123 更新时间:2023-11-30 23:05:12 25 4
gpt4 key购买 nike

我正在尝试使用一个用户帐户访问多个数据库中的信息。尽管我相当确定用户对这两个数据库都有权限,但 MySQL 拒绝了我对第二个数据库的 SELECT 查询。

我的 SQL 查询如下所示:

SELECT a.id AS id, a.name AS a_name, b.naam AS b_name
FROM accounts a
LEFT JOIN database_b.uac_bridge bridge ON a.id = bridge.foreign_id
LEFT JOIN database_b.leden b ON b.id = bridge.master_id
WHERE a.active=1

我已经从代码中删除了一些名称并从 CodeIgniter ActiveRecord 对其进行了音译,因此我希望查询中没有拼写错误。我相当确定查询本身是正确的,它在我的开发机器(Windows 7、MySQL 5.5.14)上运行良好但在服务器上失败(不确定什么操作系统、某些 Linux 变体、MySQL 5.5.27)。

我收到以下错误消息:

Error Number: 1142
SELECT command denied to user 'username'@'localhost' for table 'uac_bridge'

登录的用户是为 database_a 创建的,并且在 database_b(通过 DirectAdmin 配置)上具有 SELECT 授权(但没有其他授权)。我已确认用户可以通过登录phpMyAdmin 来读取database_b 中的数据。

有谁知道如何解决这个问题?

最佳答案

供引用,答案很简单,MySQL 数据库名称在 Linux 上区分大小写,但在 Windows 上不区分大小写 (https://dev.mysql.com/doc/refman/5.0/en/identifier-case-sensitivity.html)。

这是错误,我没有以正确的大写形式引用数据库,MySQL 给出了无权限错误,因为它无法识别数据库名称。

关于php - 一个用户使用来自多个数据库的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22202992/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com