我的配置相对简单。我有:
-
运行API的服务器。
-
此服务器连接到单独服务器上的数据库。
-
我可以通过SSH使用Sequel Pro从我的电脑连接到数据库API服务器,然后从连接到数据库服务器那里
-
我可以在终端中手动通过SSH连接到API服务器,并连接到使用MYSQL命令中相同的userID和密码的数据库线
然而,当我的PHP脚本尝试PDO_connect时,我得到。。。。
PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000] [1044] Access denied for user 'validusername'@'%' to database 'live'' in /var/www/live/community/backend/lib/Db/Connection.php:27
Stack trace:
0 /var/www/live/community/backend/lib/Db/Connection.php(27): PDO->__construct('mysql:host=10.2...', 'validusername', 'validPass', Array)
1 /var/www/live/community/backend/lib/Communication/Base.php(57): Changers_Db_Connection->__construct('10.248.174.31', 'live', 'validusername', 'validPass', NULL)n
2 /var/www/live/factory/index.php(40): Communication_Base->useSourceConnection('10.248.174.31', 'live_licence', 'validusername', 'validPass')
3 {main}n thrown in /var/www/live/community/backend/lib/Changers/Db/Connection.php on line 27
Ubuntu服务器使用memcached。
我并不担心这个错误的致命性,因为这个系统继续下去毫无意义。我真的需要理解为什么我可以通过除此之外的所有方法进行连接。
如有任何建议,不胜感激。
问候Chris
访问仅限于已知的IP地址。因此,发送"validuser"@"%"是不可接受的。所有其他方法都发送'validuser'@'API服务器IP地址',但是PHP脚本发送了'validuser'@'%'。我不能100%确定是什么修复的,但最终,我删除了Symfony;2和PHP;5并重新安装。