我正在将我的网站从一个小VPS转移到一个大型专用服务器。但这是一个奇怪的问题。
我一直收到这个错误:
Missing Database Connection Error: SQLSTATE[28000] [1045] Access denied for user 'kcal'@'localhost' (using password: YES) requires a database connection Error: Confirm you have created the file : app/Config/database.php. Notice: If you want to customize this error message, create app/View/Errors/missing_connection.ctp.
是:文件已创建,用户已创建,密码正确。 (我甚至把它变成了简单的东西。两次)
但我仍然遇到这个错误。
我读过我需要pdo_mysql扩展名,但默认安装。我有它,它已经安装并启用了!
我所有其他应用程序都运行良好。不过,这是唯一的CakePHP。
答案 0 :(得分:3)
拒绝访问错误表明 - Cake可以与MySQL通信,并且表示访问被拒绝,并指示用户@主机。可能是因为用户无法访问checkpoint_live数据库。
由于您刚刚迁移到新服务器,因此您可能需要为该特定用户@host授予MySQL表的权限。使用相同的密码创建相同的用户是不够的。试试这个:
GRANT ALL PRIVILEGES ON checkpoint_live.* TO 'kcal'@'localhost';
FLUSH PRIVILEGES;
答案 1 :(得分: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',
);
}
答案 2 :(得分:0)
检查您的登录名或密码中是否有任何额外空格。我只是遇到了同样的问题,这是由密码开头的额外空间引起的。