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

标签 mysql ubuntu pdo memcached

我的配置比较简单。我有:

  • 运行 API 的服务器。

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

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

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

但是,当我的 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 服务器。

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

任何建议表示赞赏。

问候 克里斯

最佳答案

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

关于MySQL 在外部服务器上,拒绝有效用户的访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17663162/

相关文章:

MySQL 服务器已经消失! Big Headace - Windows 2003 和经典的 asp

python - 安装后无法导入keras

ubuntu - 客户端服务器 GUI 资源

php - SQL 查询产生 SQL 异常,但在 DBMS 中运行它却没有错误?

php - 在失败的情况下运行查询两次

php - 使用 PHP 显示来自 mySQL 表的图像/描述

php - 从 MySQL 迁移到 MySQLi 扩展

mysql - 仅使用表名的一部分运行 SHOW TABLES

regex - 使用 grep+regex 从输出中获取特定值并存储在 shell 中的变量中

php - 我把 PDO 放在哪里?