用户 'homestead'@'localhost' 访问被拒绝(使用密码:YES) [英] Access denied for user 'homestead'@'localhost' (using password: YES)
问题描述
我在使用 Laravel 5.0 的 Mac OS Yosemite 上.
I'm on a Mac OS Yosemite using Laravel 5.0.
虽然在我的本地环境中,我运行 php artisan migrate
我不断得到:
While in my local environment, I run php artisan migrate
I keep getting :
用户 'homestead'@'localhost' 访问被拒绝(使用密码:YES)
Access denied for user 'homestead'@'localhost' (using password: YES)
配置
这是我的 .env
APP_ENV=local
APP_DEBUG=true
APP_KEY=*****
DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
appconfigdatabase.php
'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
将 localhost
替换为 127.0.0.1
'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是否正在运行
Check to see if the MySQL is running by run
mysqladmin -u homestead -p status 输入密码:secret
我得到了
正常运行时间:21281 线程:3 问题:274 慢查询:0 打开:327 刷新表:1 打开表:80 查询每秒平均:0.012
这意味着它正在运行.
检查 MySQL UNIX Socket(这一步对我有用)
Check MySQL UNIX Socket (This step work for me)
推荐答案
检查 MySQL UNIX Socket
使用 MySQL 查找 unix_socket 位置
mysql -u homestead -p
mysql> show variables like '%sock%';
+-----------------------------------------+-----------------------------+
| Variable_name | Value |
+-----------------------------------------+-----------------------------+
| performance_schema_max_socket_classes | 10 |
| performance_schema_max_socket_instances | 322 |
| socket | /var/run/mysqld/mysqld.sock |
+-----------------------------------------+-----------------------------+
3 rows in set (0.00 sec)
然后我去config/database.php
我更新了这一行:'unix_socket' =>'/tmp/mysql.sock',
to : 'unix_socket' =>'/var/run/mysqld/mysqld.sock',
就是这样.它适用于我的第四次尝试.我希望这些步骤对某人有所帮助.:D
That's it. It works for my as my 4th try.I hope these steps help someone. :D
这篇关于用户 'homestead'@'localhost' 访问被拒绝(使用密码:YES)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!