atf.sgf
atf.sgf

Reputation: 494

Access denied for user 'root'@'localhost' - Laravel

I have an application with Laravel 4, that runs in localhost correctly, but when I uploaded it in my host I received the error .

app>config>database.php file is:

'mysql' => array(
        'driver'    => 'mysql',
        'host'      => '127.0.0.1',
        'database'  => 'forum',
        'username'  => 'root',
        'password'  => '',
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
    ),

And bootstrap>start.php is:

$env = $app->detectEnvironment(array(
'local' => array('homestead'),
));

Upvotes: 10

Views: 21667

Answers (5)

ChinhNV
ChinhNV

Reputation: 351

Laravel Access denied for user 'user'@'localhost' (using password: YES)

In .env I changed add ' ' in line 'user' and 'password':

DB_USERNAME=user

DB_PASSWORD=password

to:

DB_USERNAME='user'

DB_PASSWORD='password'

Worked for me!

Run -> php artisan optimize:clear

Good luck <3

Upvotes: 1

bravohex
bravohex

Reputation: 1044

Maybe you should add double-quotes for password in env:

# Config: database
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=db_name
DB_USERNAME=db_user
DB_PASSWORD="db_password"

and

php artisan config:clear

Upvotes: 3

Raghav
Raghav

Reputation: 275

This worked for me:

php artisan config:clear

Even though I changed the config details in the .env file, I was getting the Access denied error. Running the above command will clear configuration cache file and hence laravel will read the fresh data from the .env file.

Upvotes: 10

Ajay Kumar Ganesh
Ajay Kumar Ganesh

Reputation: 1852

You must find out the credentials of Database host, Database Name , Database Username and Database Password . (If any prefix for tables too) and then replace it with the current credentials.

Use the concept of environments and store values in ENV variables :

http://laravel.com/docs/4.2/configuration

You can store Env Variables as array in .{ENV_NAME}.env.php and access those variables as $_ENV['variable_name'].

Upvotes: 3

Iftakharul Alam
Iftakharul Alam

Reputation: 3321

Check your mysql database is running perfectly or not. Then check you db user root in mysql with no password and restart your server.

Upvotes: 2

Related Questions