2015-09-06 82 views
0

我已经得到了几个不同的错误,运行php工匠迁移时尝试不同的事情。最近的一次是:如何使用MAMP将我的Laravel 5应用程序连接到MySQL?

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

这是我为database.php

'mysql' => [ 
    'driver' => 'mysql', 
    'host'  => env('DB_HOST', 'localhost'), 
    'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock', 
    'database' => env('DB_DATABASE', 'forge'), 
    'username' => env('DB_USERNAME', 'forge'), 
    'password' => env('DB_PASSWORD', ''), 
    'charset' => 'utf8', 
    'collation' => 'utf8_unicode_ci', 
    'prefix' => '', 
    'strict' => false, 
    'port' => '3306' 
], 

,这是.ENV

APP_ENV=local 
APP_DEBUG=true 
APP_KEY=halMyGPhfVZGrdpibFIwEE0wZipP5lqu 

DB_HOST=localhost *updated 
DB_DATABASE=forge *updated 
DB_USERNAME=forge *updated 
DB_PASSWORD= *updated 

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 
MAIL_ENCRYPTION=null 

UNIX_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock 
+0

无法从外部连接到虚拟机,反之亦然。 – user2094178

回答

0

试着改变你的.env文件中的以下或删除所有密钥与文件中的DB有关。

DB_HOST=localhost 
DB_DATABASE=forge 
DB_USERNAME=forge 
DB_PASSWORD= 

我曾经遇到同样的问题,但问题是,在database.php文件查找在.env文件的密钥DB_DATABASE等。因为,该密钥存在于.env文件,它不会考虑你在声明中提供了env('DB_DATABASE', 'forge')

在纯英语的默认值forge,“看在.env关键DB_DATABASE,如果存在的话,使用其他使用forge默认的”

在你的情况下,密钥存在于.env文件,因此,虽然你提供forge,它认为homestead是在.env文件中定义。并因此错误访问被拒绝'homestead'@'localhost'

希望我澄清的事情。

+0

嗨,感谢您的帮助。我做了你的建议,但我得到了'访问拒绝用户'''localhost'到数据库'伪造'' – joejoeso

+0

你试过了哪个选项? 在更改之后,你可以使用.env和database.php的内容更新你的问题吗? –

+0

我做了更改 – joejoeso

相关问题