用户访问被拒绝' root' localhost' (使用密码:否)。没有工作

时间:2018-03-31 21:35:56

标签: mysql sql laravel vagrant homestead

我觉得我已经尝试了一切。 用户root用空密码不起作用。

尝试卸载并重新安装mysql。不行。

认为这与我在Laravel的项目有关,我卸载并重新安装它。开始一个新项目。不。

卸载重新安装的Homestead。不。

卸载重新安装的Vagrant。不。

我在Laravel中的数据库配置如下所示:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

但是当我尝试时:

mysql -u homestead -p

和'秘密' 我明白了:

ERROR 1045 (28000): Access denied for user 'homestead'@'localhost' (using password: YES)

我按照这篇文章的所有步骤,你能猜到吗? NOPE NOTHING。

Access denied for user 'homestead'@'localhost' (using password: YES) on Laravel 5.2.27

请帮忙。如果我遗漏了任何内容,我将很乐意提供更多信息。

2 个答案:

答案 0 :(得分:0)

我之前遇到过这个问题,老实说,有时它会因人而异,所以这里有几个我知道的解决方案:

<强>第一

  • 通过运行mysqladmin -u root -p pass
  • 为mysql添加密码

但我相信你已经尝试过这样做了下一个,

<强>第二

  • 在mysql cli中使用此查询:

    设置密码&#39; root&#39; @&#39; localhost&#39; = PASSWORD(&#39; root&#39;);

请注意,此方法直接操作您的数据库,您只需在您的vagrant vm中启动您的mysql cli,并在其中输入该查询,然后尝试使用 root 作为用户名和 root 作为密码,希望这会有所帮助。

答案 1 :(得分:-1)

您可以尝试通过在安全模式下运行MySQL来重置root密码。

  1. 停止MySQL:

    sudo /usr/local/mysql/support-files/mysql.server stop

  2. 以安全模式启动:

    sudo mysqld_safe --skip-grant-tables

  3. 这将是一个持续的命令,直到该过程完成,因此打开另一个shell /终端窗口,并且..

    1. 以root身份登录时没有密码:

      mysql -u root

    2. 更新root(以及任何其他用户的密码)

      FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'; \q

    3. 以正常模式重启MySQL

      sudo /usr/local/mysql/support-files/mysql.server start

    4. 参考:https://coolestguidesontheplanet.com/how-to-change-the-mysql-root-password/

      注意:这几乎是参考链接的复制粘贴。这是非常标准的重置过程,但与mysql参考文档相比,只是在该指南中记录得更好。