CakePHP数据库错误。拒绝访问

时间:2013-03-28 01:17:46

标签: php mysql cakephp hostmonster

我最近在我的hostmonster共享服务器上安装了CakePHP并创建了一个新的数据库和用户(具有完全权限),我得到以下内容:

Cake is NOT able to connect to the database.

Database connection "Mysql" is missing, or could not be created.
SQLSTATE[42000] [1044] Access denied for user '[user]'@'[host]' to database '[db]'
  • 为了安全起见,不包括括号内的物品。

我已经验证PDO和PDO mysql已启用。凭证已经过多次检查和重新检查。是否还有其他一些秘密设置,我缺少或是主机限制我的数据库用户控制?

我的database.php配置:

public $default = array(
    'datasource' => 'Database/Mysql',
    'persistent' => false,
    'host' => 'host',
    'login' => 'user',
    'password' => 'pass',
    'database' => 'db',
    'prefix' => '',
    //'encoding' => 'utf8',
);

public $test = array(
    'datasource' => 'Database/Mysql',
    'persistent' => false,
    'host' => 'host',
    'login' => 'user',
    'password' => 'pass',
    'database' => 'db',
    'prefix' => '',
    //'encoding' => 'utf8',
);

此外,我已经能够通过PDO使用相同的凭据通过以下代码成功连接到数据库:

$hostname = "host";
$db = "db";
$username = "user";
$password = "pas";

try {
  $db = new PDO("mysql:host=$hostname;dbname=$db", $username, $password);
  echo "Connected to database";
}
catch(PDOException $e) {
  echo $e->getMessage();
}

1 个答案:

答案 0 :(得分:0)

SQLSTATE [42000] [1044]拒绝用户'[user]'@'[host]'访问数据库'[db]'

意思是,蛋糕知道你的数据库细节,但它们不起作用。从链中“删除”蛋糕并尝试自己连接index.php。

然后尝试从控制台连接。

最有可能设置错误的数据库详细信息,或者他们在数据库端没有足够的权限。