访问被拒绝用户&hometead @ localhost' ..在laravel 5

时间:2015-02-21 09:45:31

标签: laravel-5

我使用命令php artisan migrate在laravel 5中迁移我的数据库.. 它给了我一个错误:

  

异常'PDOException',消息'SQLSTATE [HY000] [1045]访问   拒绝用户'宅基'@'localhost'(使用密码:是)'

11 个答案:

答案 0 :(得分:9)

将来的某个时间。尝试先清除配置

php artisan config:clear. 

关闭所有终端/ cmd窗口,然后重新启动终端/ CMD,这应该摆脱错误消息。看看它是否有效。

答案 1 :(得分:4)

在Laravel .env文件中,相应地更改变量以匹配您想要的设置。

如果您正在使用XAMMP或EasyPHP之类的内容使用mysql数据库,请使用以下设置

 DB_HOST=localhost
 DB_DATABASE=mysql
 DB_USERNAME=root
 DB_PASSWORD=''

答案 2 :(得分:2)

如果您在 .env文件中的所有配置都可以,那么您应该:

终端中运行此命令,其中列出了包含php的流程:

ps -ef | grep php

然后:

  

501 4529 599 0 Sat03PM ttys000 0:00.15 php artisan serve

     

501 4533 4529 0 Sat03PM ttys000 0:25.11 / usr / bin / php -S 127.0.0.1:8000 /Applications/XAMPP/xamppfiles/htdocs/ds7/laravel/coffeeshop/server.php

使用kill命令终止进程(注意:进程ID是第二列数字组。)

kill 4529
kill 4533

然后运行php artisan config:clear

最后,使用以下命令重启服务器:

php artisan serve

答案 3 :(得分:2)

运行以下命令:

php artisan cache:clear
php artisan config:cache

答案 4 :(得分:1)

  'mysql' => [
                'driver' => 'mysql',
                'host' => env('DB_HOST', '127.0.0.1'),
                'port' => env('DB_PORT', '3306'),
                'database' => 'laravel',
                'username' => 'root',
                'password' => 'PASSWORD IF HAVE OTHERWISE LEAVE IT BLANK ',
                'unix_socket' => env('DB_SOCKET', ''),
                'charset' => 'utf8mb4',
                'collation' => 'utf8mb4_unicode_ci',
                'prefix' => '',
                'strict' => true,
                'engine' => null,
            ],

从db,host和密码中删除ENV值并将其直接放置

答案 5 :(得分:0)

之前曾多次询问过这个问题..查看我发现的最佳答案:

此错误背后的问题可能是:

  • 您的.env文件和config / database.php不正确。
  • 您未在配置文件中设置正确的unix_socket值,结帐Question 2
  • 您正尝试从本地计算机运行php artisan migrate:install。您应该通过SSH进入虚拟机homestead ssh并从那里运行迁移,结帐Question 1

答案 6 :(得分:0)

在您的database.php文件中

,取消class String def chop_multiple(amount) amount.times.inject([self, '']){ |(s, r)| [s.chop, r.prepend(s[-1])] } end end hello, world = "hello world".chop_multiple 5 hello #=> 'hello ' world #=> 'world'

并替换为您的数据库名称,用户名和密码

这对你来说很好。

答案 7 :(得分:0)

编辑.env文件

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=yourdbname
DB_USERNAME=yourusername
DB_PASSWORD=yourpassword

并输入你的cmd

php artisan migrate

它肯定会起作用

答案 8 :(得分:0)

在.env文件中 从

更改DB_PORT
DB_PORT=3306

DB_PORT=33060

参考https://laravel.com/docs/5.4/homestead#connecting-to-databases

关于最后零的问题

答案 9 :(得分:0)

解决问题的两种方法

打开数据库配置文件(laravel_root / config / database.php)&搜索下面的代码块。

'host' => env('DB_HOST', 'localhost'),
'database'  => env('DB_DATABASE', 'blog'),
'username'  => env('DB_USERNAME', 'root'),
'password'  => env('DB_PASSWORD', ''),

更改代码块,如下所示

'host'      => 'enteryourHostName',
'database'  => 'ebterYourDatabastName',
'username'  => 'enterYoutDatabaseUsername',
'password'  => 'enterYourDatabasePassword',

第二种方式(Laravel推荐)

检查你的Laravel根目录是否有文件调用.env如果不存在,请查找.env.example,将其复制/重命名为.env,之后该文件看起来很震撼!

APP_ENV=local
APP_DEBUG=true
APP_KEY=someRandomNumber

DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null

修改以下块,如下所示

DB_HOST=yourHostName
DB_DATABASE=yourDatabaseName
DB_USERNAME=yourDatabaseUsername
DB_PASSWORD=youPassword

这适合我。

答案 10 :(得分:-1)

更改.env文件后,必须重新启动服务器。

在命令提示符下的laravel中,键入:

php artisan serve