如何使用PDO连接到实时数据库

时间:2018-04-03 08:43:34

标签: php mysql pdo phpmyadmin

我目前正在尝试将项目移至实时服务器,但我遇到以下问题

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2002] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. 

我知道脚本正在连接到数据库,但它没有提供访问权限并且保持超时,我已经添加了连接到phpmyadmin的权限。

GRANT ALL PRIVILEGES ON `xxxxx`.* TO 'Admin'@'%' WITH GRANT OPTION;

这是我的连接信息:

"Database" => array(
      "host" => "xxx.xx.xx.xxx",
      "username" => "Admin",
      "password" => "xxxxxxxxxx",
      "database" => "xxxxx"
    ),

我知道数据库名称是正确的,因为错误只会说"找不到数据库hopp2"

$dsn = 'mysql:host='.$settings['Database']['host'].';dbname='.$settings['Database']['database'];

$pdo = new PDO($dsn,$settings['Database']['username'],$settings['Database']['password']);

任何帮助都不仅仅是感谢,如果这是一件简单的事情,我很抱歉,因为我正在为这个项目制定一个非常紧迫的时间表

User name   Host name   Password    Global privileges   User group  Grant   Action
Admin   %   Yes ALL PRIVILEGES      Yes Edit privileges Edit privileges Export Export

1 个答案:

答案 0 :(得分:0)

这对我来说感觉像是防火墙问题。你有没有检查过你是否可以连接MySQL服务器(不使用PHP)?:

尝试连接telnet,测试连接:

telnet IP 3306

您至少应该获得连接(无需登录)。如果这不起作用,请尝试确定服务器是否在3306接受连接,但无法响应,这意味着正在阻止传出流量。