用户 'homestead'@'localhost' 访问被拒绝(使用密码:YES) [英] Access denied for user 'homestead'@'localhost' (using password: YES)

查看:50
本文介绍了用户 'homestead'@'localhost' 访问被拒绝(使用密码: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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆