1

我正在将我的网站从小型 VPS 转移到大型专用服务器。但这是一个奇怪的问题。

我不断收到此错误:

缺少数据库连接

错误:SQLSTATE [28000] [1045] 用户'kcal'@'localhost'的访问被拒绝(使用密码:YES)需要数据库连接

错误:确认您已创建文件:app/Config/database.php。

注意:如果要自定义此错误消息,请创建 app/View/Errors/missing_connection.ctp。

是:文件已创建,用户已创建,密码正确。(我什至把它改成了简单的东西。两次)

但是我仍然收到此错误。

我读到我需要 pdo_mysql 扩展,但默认情况下已安装。我有它,它已安装并启用!

我所有的其他应用程序都可以正常工作。不过,这是唯一的 CakePHP。

4

3 回答 3

3

访问被拒绝错误准确地表明 - Cake 能够与 MySQL 通信,并且表示访问被拒绝并指示 user@host。可能是因为用户无权访问 checkpoint_live 数据库。

由于您刚刚移动到新服务器,因此您可能需要为该特定用户@主机授予 MySQL 表的权限。使用相同的密码创建相同的用户是不够的。试试这个:

GRANT ALL PRIVILEGES ON checkpoint_live.* TO 'kcal'@'localhost';
FLUSH PRIVILEGES;
于 2012-08-10T11:39:09.650 回答
0

检查您在 app/Config/database.php 中输入的用户名密码。它应该看起来像:

class DATABASE_CONFIG {

public $default = array(
    'datasource' => 'Database/Mysql',
    'persistent' => false,
    'host' => '127.0.0.1',
    'login' => 'kcal',
    'password' => '---ORIGINIAL PASSWORD HERE---',
    'database' => 'checkpoint_live',
    'prefix' => '',
    'encoding' => 'utf8',
);
}
于 2012-08-10T04:35:02.587 回答
0

检查您的登录名或密码中是否有多余的空格。我刚刚遇到了同样的问题,这是由密码开头的多余空格引起的。

于 2012-12-12T06:18:44.373 回答