SQLSTATE [28000] [1045]访问被拒绝的用户“根” @主机

问题描述:

无法与错误信息访问数据库:SQLSTATE [28000] [1045]访问被拒绝的用户“根” @主机

SQLSTATE[28000] [1045] Access denied for user 'root’@‘xxx.ne.jp'(using password: YES) 

我有这样的PHP代码。

$dsn = 'mysql:dbname=mydb;host=xxx.ne.jp'; 
$user = 'root'; 
$password ='0123'; 

try{ 
    $dbh = new PDO($dsn, $db_user, $db_password); 
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
} 
catch (PDOException $e) { 
    echo $e->getMessage(); 
} 

我可以使用相同的用户名和密码(root/0123)登录到phpmyadmin。
为什么?
你有什么想法解决它吗?

+1

你是否检查过实际的授权表? – 2014-11-08 06:09:59

+0

感谢您解决了问题! – 2014-11-08 06:39:42

下面是基本PDO连接例如:

$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass); 

所以包括失踪主机名

$dsn = 'mysql:host=localhost;dbname=mydb;host=xxx.ne.jp'; 
$user = 'root'; 
$password ='0123'; 

try{ 
    $dbh = new PDO($dsn, $db_user, $db_password); 
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
} 
catch (PDOException $e) { 
    echo $e->getMessage(); 
} 

变化localhost如果另一台主机上运行的网站。