【发布时间】:2018-09-12 12:35:07
【问题描述】:
我目前正在尝试将我的项目移动到实时服务器,但我遇到了以下问题
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
【问题讨论】:
-
这是因为默认服务器mysql不允许其他服务器访问,所以你必须让你的数据库公开访问才能访问
-
是的,抱歉,重新阅读问题并意识到您不只是在问一个愚蠢的问题
-
我会说使用具有所有这些特权的帐户来让您的网站访问数据库是非常危险的,但我假设您付出了一切努力让某些东西正常工作
-
我假设你已经仔细检查了 MySQL 服务器的 IP 地址。如果那不是您的帐户被允许访问的帐户,您可能会收到此类错误
-
@NishitManjarawala
database public access请不要这样说。数据库不应直接连接到互联网。
标签: php mysql pdo phpmyadmin