laravel 照亮\数据库\查询异常

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/48965876/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-14 17:26:22  来源:igfitidea点击:

Illuminate\Database\QueryException

phpmysqllaravelweblaravel-5

提问by Nath

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.

回答by

Check your user privileges for 'root'@'localhost'in your database. You likely either need to create an entry for root@localhostor use [email protected]

检查您'root'@'localhost'的数据库中的用户权限。您可能需要创建一个条目root@localhost或使用[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

回答by Nikhil Warvatkar

To fix the error, go to app/Providers/AppServiceProvider.phpand add a boot functionas follows.

要修复错误,请转到app/Providers/AppServiceProvider.php并添加启动功能,如下所示。

(Make sure to import the Schema facade from Illuminate\Support\Facades\Schema.

(确保从Illuminate\Support\Facades\Schema.

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;


public function boot()
{
    Schema::defaultStringLength(191);
}