Reputation: 57
I have created database in localhost
Illuminate\Database\QueryException : SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES
(SQL: select * from information_schema.tables where table_schema = laravel5 and table_name = migrations)
at F:\full stack\laravel\laravel5\vendor\laravel\framework\src\Illuminate\Database\Connection.php: 664
660: // If an exception occurs when attempting to run a query, we'll format the error
661: // message to include the bindings with SQL, which will make this exception a
662: // lot more helpful to the developer instead of just the database's errors.
663: catch (Exception $e) {
664: throw new QueryException(
665: $query, $this->prepareBindings($bindings), $e
666: );
667: }
668:
669: return $result;
Exception trace:
PDOException::("SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES)") F:\full stack\laravel\laravel5\vendor\laravel\framework\src\Illuminate\Database\Connectors\Connector.php : 68
PDO::__construct("mysql:host=127.0.0.1;port=3306;dbname=laravel5", "root", "pwd", []) F:\full stack\laravel\laravel5\vendor\laravel\framework\src\Illuminate\Database\Connectors\Connector.php : 68
Please use the argument -v to see more details.
Upvotes: 0
Views: 23271
Reputation: 136
To fix the error, go to app/Providers/AppServiceProvider.php
and add a boot function as follows.
(Make sure to import the Schema facade from Illuminate\Support\Facades\Schema
.
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;
public function boot()
{
Schema::defaultStringLength(191);
}
Upvotes: 2
Reputation:
Check your user privileges for 'root'@'localhost'
in your database. You likely either need to create an entry for root@localhost
or use [email protected]
To create a new user/supplement an existing one, run the following commands:
// change your_db_user to root or the user name you specify
// change login_from to 127.0.0.1 or any valid hostname/ip address
// change your_db_password to the password you set in your .env file
$ mysql -u root -p
$ create user your_db_user (skip this step if you're adding a new entry for root or a user that already exists)
$ grant all on your_db_name.* to 'your_db_user'@'login_from' identified by 'your_db_password';
$ flush privileges
Upvotes: 2