我在 Mac OS Yosemite 上用的是 Laravel 5.0。
在我的 本地环境中,我运行 php artisan migrate
,我不断得到:
拒绝访问用户‘ homestead’@‘ localhost’(使用密码: YES)
配置
这是我的 。 env
APP_ENV=local
APP_DEBUG=true
APP_KEY=*****
DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
App 配置数据库
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'homestead'),
'username' => env('DB_USERNAME', 'homestead'),
'password' => env('DB_PASSWORD', 'secret'),
'unix_socket' => '/tmp/mysql.sock',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
]
如何避免这种错误?
我试过了:
在 App/database. php
用 127.0.0.1
代替 localhost
'host'=> env('DB_HOST', 'localhost')
-> 'host' => env('DB_HOST', '127.0.0.1')
还有,在 。 env
DB_HOST=localhost
-> DB_HOST=127.0.0.1
尝试指定环境
php artisan migrate --env=local
检查 MySQL 是否正在运行
mysqladmin -u homestead -p status Enter password: secret
我有
Uptime: 21281 Threads: 3 Questions: 274 Slow queries: 0 Opens: 327 Flush tables: 1 Open tables: 80 Queries per second avg: 0.012
也就是说它在运行。
检查 MySQL UNIX Socket (这一步对我有用)