質問: ### 前提・実現したいこと 現在、Windows10とXAMPP(最新版)でCakePHP(最新版)の設定をしており、 データベース(MySQL)との接続を図った際、以下のようなエラーメッセージが CakePHPのページに出ました。 その為、接続するために 下のようにコードを変えましたが、 変化はありませんでした。 また、 use Cake\Datasource\ConnectionManager; の部分がエラーとなってしまいました。 データベースを用いたものを作ろうとしているため、 ここで絶対につなげなければならない、という状況です。 尚、ユーザー名・パスワード・データベースの名前は 全て半角の英数字で、 phpMyadminでは問題なくログインできています。 問題となるのは、 「データベースにアクセスできるか、やる場合はどうコードをいじるか」と 「use...の行をどう改変するか」になります ### エラーメッセージ ``` CakePHP is NOT able to connect to the database. Connection to database could not be established: SQLSTATE[HY000] [1044] Access denied for user '(ユーザー名)'@'ホスト名' to database 'データベースの名前' ``` ### 該当のソースコード ``` 'Datasources' => [ use Cake\Datasource\ConnectionManager; ConnectionManager::config('default', [ 'className' => 'Cake\Database\Connection', 'driver' => 'Cake\Database\Driver\Mysql', 'persistent' => false, 'host' => 'localhost', //'port' => 'non_standard_port_number', 'username' => 'ユーザー名', 'password' => 'パスワード', 'database' => 'データベース名', 'encoding' => 'utf8', 'timezone' => 'UTC', 'flags' => [], 'cacheMetadata' => true, 'log' => false, 'quoteIdentifiers' => false, 'url' => 'C:\xampp\mysql\data\orfc0123', ]), ``` (Datasourcesの角括弧は最終的に閉まります) ### 試したこと 調べながらコードを出来る限り いじって直していじって直してを 繰り返していました。 また、マイグレーションのページを見ながらやっても何もおこりません。 ### 補足情報(言語/FW/ツール等のバージョンなど)
回答: > > Connection to database could not be established: SQLSTATE[HY000] [1044] Access denied for user > > '(ユーザー名)'@'ホスト名' to database 'データベースの名前' > > > 接続自体は成功していますが、指定されたデータベースに対して指定されたユーザーがアクセス権を持っていないためエラーになっています。 データベースにアクセス権を設定されてないのではないでしょうか。マニュアルを参照して、データベースにアクセス権を設定してください。 https://dev.mysql.com/doc/refman/5.6/ja/grant.html