MySQL在外部服务器上,拒绝访问有效用户

时间:2013-07-15 20:20:28

标签: mysql ubuntu pdo memcached

我的配置相对简单。我有:

  • 运行API的服务器。

  • 此服务器连接到单独服务器上的数据库。

  • 我可以使用Sequel Pro通过SSH连接到我的电脑上的数据库 API服务器,然后从中连接到数据库服务器 那里。

  • 我可以在终端中手动SSH到API服务器并连接到 数据库使用与MYSQL命令相同的用户标识和密码 线。

然而,当我的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

使用memcached的Ubuntu服务器。

我不担心错误的致命性,因为系统继续是没有意义的。我真的需要理解为什么我可以通过除此之外的所有方法进行连接。

任何建议表示赞赏。

此致 克里斯

1 个答案:

答案 0 :(得分:0)

访问仅限于已知的IP地址。因此,发送'validuser'@'%'是不可接受的。所有其他方法都发送'validuser'@'API服务器IP地址',但PHP脚本发送'validuser'@'%'。我不是100%肯定是什么修复它,但最后,我删除了Symfony 2和PHP 5并重新安装。