Laravel 5 - SQLSTATE [HY000] [1045]拒绝访问用户'root'@'localhost'(使用密码:NO)

时间:2017-06-04 15:26:05

标签: php database laravel laravel-5

我试图在laravel中进行CRUD操作,但我总是有这个错误消息。我已经将.env和config / database.php文件配置为我的本地设置但它不起作用。

我试过php artisan cache:clear,php artisan config:clear too ...

我的config / database.php:

'mysql' => [
    'driver' => 'mysql',
    'host' => env('DB_HOST', 'localhost'),
    'port' => env('DB_PORT', ''),
    'database' => env('DB_DATABASE', 'feki_test'),
    'username' => env('DB_USERNAME', 'root'),
    'password' => env('DB_PASSWORD', ''),
    'unix_socket' => env('DB_SOCKET', ''),
    'charset' => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
    'prefix' => '',
    'strict' => true,
    'engine' => null,
],

我的.env:

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=
DB_DATABASE=feki_test
DB_USERNAME=root
DB_PASSWORD=

5 个答案:

答案 0 :(得分:0)

根据评论,您尝试从Homestead内部访问本地xampp mysql服务器。由于应用程序位于隔离的虚拟机中,因此无法正常工作。您需要为您的应用程序使用Homestead的mysql服务器。使用默认连接信息。

Object

要访问本地计算机上的Homestead服务器,请将端口更改为DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=homestead DB_USERNAME=homestead DB_PASSWORD=secret 。如果要使用SQL工具连接到数据库,这将非常有用。

答案 1 :(得分:0)

首先,您无需在config / database.php中写入凭据。 然后删除.env文件,然后将.env.example文件重命名为.env 然后在你的终端上运行PHP artisan key:generate命令。

提供您的数据库凭证。

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=feki_test
DB_USERNAME=root
DB_PASSWORD=

并最后一次重启您的开发服务器。 。

答案 2 :(得分:0)

在.env和config-> database.php文件中

代替这个

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=feki_test
DB_USERNAME=root
DB_PASSWORD=

使用此

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=db_name
DB_USERNAME=root
DB_PASSWORD=''

,然后重新启动服务器。肯定会起作用

答案 3 :(得分:0)

我将127.0.0.1更改为localhost并且它起作用了

DB_CONNECTION = mysql
DB_HOST =本地主机
DB_PORT = 3306
DB_DATABASE = efaf
DB_USERNAME = root
DB_PASSWORD =

答案 4 :(得分:0)

我面临着同样的问题。但是我找到了解决方案,方法是删除保存在bootstrap/cache/config.php中的config.php文件。之后,只需运行两个命令

php artisan config:clear
php artisan cache:clear
php artisan config:cache