【问题标题】:Mysql Password Expired , Using Homestead VirtualboxMysql 密码过期,使用 Homestead Virtualbox
【发布时间】:2016-11-07 23:15:59
【问题描述】:

我在 larval 应用程序中不断收到此消息

PDOException in Connector.php line 119:
SQLSTATE[HY000] [1862] Your password has expired. To log in you must change it using a client that supports expired passwords.

我试过这样重置密码:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('secret');

收到回复

Query OK, 0 rows affected, 1 warning (0.00 sec)

但是当我认为仍然出现错误时,我尝试使用 sequel pro 连接到 db,并得到了同样的错误

MySQL said: Your password has expired. To log in you must change it using a client that supports expired passwords.

不确定我还能做什么,我在重置后尝试了 vagrant provision,但仍然得到同样的错误

【问题讨论】:

  • 我也遇到了同样的错误。我尝试过创建宅基地用户并更改密码,但似乎没有任何效果。即使登录 mamp 并手动执行它似乎也是致命的。我希望有人知道一些事情

标签: mysql homestead


【解决方案1】:

我也有同样的问题。我已经解决了修改宅基地文件的问题。 在 vendor/laravel/homestead/scripts/create-mysql.sh

mysql -uhomestead -psecret -e "CREATE DATABASE IF NOT EXISTS \`$DB\` DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci";

这是给我带来问题的那一行。在此行之前,我使用 --connect-expired-password 选项重置密码。我也必须重置 laravel bd 用户密码。假设 laravel bd 用户是 root 并且密码是秘密的:

mysql -uhomestead -psecret -e "SET PASSWORD  = PASSWORD('secret')" --connect-expired-password;
mysql -uroot -psecret -e "SET PASSWORD  = PASSWORD('secret')" --connect-expired-password;
mysql -uhomestead -psecret -e "CREATE DATABASE IF NOT EXISTS \`$DB\` DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci";

为我工作。

【讨论】:

  • 我会在上游提出一个拉取请求或创建一个带有此修复程序的宅基地分支。修改供应商文件夹中的 any 代码不是一个好习惯,因为它会被按日期之后的任何更新覆盖。这也意味着您没有共享修复程序,因此您团队中的其他开发人员将不得不集成相同的更改,而只需拉出您的分叉或更新的包就更容易了。
猜你喜欢
  • 1970-01-01
  • 2017-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-02
  • 2015-05-14
  • 1970-01-01
  • 2012-11-27
相关资源
最近更新 更多