1

ウェブサイトを小さな VPS から大きな専用サーバーに移行しています。しかし、これは1つの奇妙な問題です。

このエラーが発生し続けます:

データベース接続がありません

エラー: SQLSTATE[28000] [1045] ユーザー 'kcal'@'localhost' のアクセスが拒否されました (パスワードを使用: YES) データベース接続が必要です

エラー: app/Config/database.php というファイルを作成したことを確認してください。

注意: このエラー メッセージをカスタマイズする場合は、app/View/Errors/missing_connection.ctp を作成してください。

はい: ファイルが作成され、ユーザーが作成され、パスワードが正しい。(私はそれを単純なものに変更しました.2回)

それでも、まだこのエラーが発生します。

pdo_mysql 拡張機能が必要だと読みましたが、デフォルトでインストールされています。私はそれを持っています、それはインストールされ有効になっています!

私の他のすべてのアプリケーションは正常に動作します。ただし、これは唯一の CakePHP のものです。

4

3 に答える 3

3

アクセス拒否エラーはまさにそのことを示しています - Cake は MySQL と通信できますが、user@host が示すアクセスが拒否されたと言っています。おそらく、ユーザーが checkpoint_live データベースへのアクセス権を持っていないためです。

新しいサーバーに移動したばかりなので、おそらくその特定の user@host に MySQL テーブルに対する権限を付与する必要があります。同じパスワードで同じユーザーを作成するだけでは十分ではありません。これを試して:

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

ログインまたはパスワードに余分なスペースがないかどうかを確認してください。これと同じ問題が発生しましたが、パスワードの先頭に余分なスペースがあることが原因でした。

于 2012-12-12T06:18:44.373 に答える
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 に答える