Search code examples
databasecakephpdefaultcakephp-3.0

cakephp error. Connection to database ...not ...: Access denied for user 'my_app'@'localhost' (using password: YES)


I am trying to start CakePHP. I made bookmarker and tested by command bin\cake server. It showed one error as connection to database could not be established:

SQLSTATE[HY000] [1045] Access denied for user 'my_app'@'localhost' (using password: YES).

I read the config/app.default.php file. It says there is a database my_app and another database test_myapp with some users. I can not find these databases in phymyadmin in xampp. Am I supposed to create the named databases and users manually? I thought CakePHP should create these automatically. Or should I give names of databases etc. which I like and create the same.I'm using xampp with windows 7 and am very new to CakePHP.


Solution

  • Cake will not create the database or database user for you. You need to create them yourself and then match these database credentials into the db config file. Your datasource in app/Config/app.php file should look something similar to:

    'Datasources' => [
        'default' => [
            'className' => 'Cake\Database\Connection',
            'driver' => 'Cake\Database\Driver\Mysql',
            'persistent' => false,
            'host' => 'localhost',
            'username' => 'my_db_user',
            'password' => 'my_db_user_password',
            'database' => 'cake_database_name',
            'encoding' => 'utf8',
            'timezone' => 'UTC',
            'cacheMetadata' => true,
        ]
    ],
    

    In this example you would have to create a database named: cake_database_name, and then add a database user named my_db_user with the password of my_db_user_password.