【问题标题】:Problem with connecting and migrating database with Homestead使用 Homestead 连接和迁移数据库的问题
【发布时间】:2019-12-20 04:19:40
【问题描述】:

我正在尝试使用 Laravel 中的 Homestead 连接到数据库。我收到错误

 SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using 
 password: NO) 

当我使用 git bash 进行 php artisan 迁移时,以及当我刷新主页时也在我的浏览器中。我尝试更改我的 .env 并清除缓存但未成功。任何帮助表示赞赏。这是我的代码。

.env

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=33060
DB_DATABASE=real-estate-laravel
DB_USERNAME=homestead
DB_PASSWORD=secret

主机

192.168.10.10 real-estate-laravel.test
127.0.0.1 phpmyadmin.test

【问题讨论】:

  • 尝试将 DB_HOST 更改为 192.168.10.10 --- 虽然奇怪的是它说 'root'@ localhost 没有密码。另外 DB_PORT 默认应该是 3306...你的改变是故意的吗?
  • 如果这不起作用...vagrant ssh 到宅基地并尝试再次清除缓存php artisan config:cache
  • @JamesAllen 是的,我尝试使用 192.168.10.10 和 3306,但它不起作用。是的,这是故意的,因为我尝试更改这些地址,但它们都不起作用。清除缓存也不起作用。我尝试了以上所有方法。

标签: php database laravel homestead


【解决方案1】:

按照这些步骤进行

$ mysqld --skip-grant-tables

然后,执行这些语句。

$ mysql -u root mysql
$mysql> UPDATE user SET Password=PASSWORD('your_password') WHERE USER='root';
$mysql> FLUSH PRIVILEGES;

如果你遇到上面使用的未知字段密码错误,那么试试这个:

update user set authentication_string=password('your_password') WHERE user='root';

最后,重新启动不带--skip-grant-tables 选项的守护程序。

$ /etc/init.d/mysql restart

现在,您可以使用新密码进行连接了。

$ mysql -u root -p

输入密码

your_password

【讨论】:

  • 我更新了密码,但是当我重新启动守护程序步骤并显示我输入密码时,当我输入时它说 pam_authenticate failed: Authentication failure ==== AUTHENTICATION FAILED === Failed to重启 mysql.service:访问被拒绝
猜你喜欢
  • 2023-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-05
  • 2011-07-19
  • 1970-01-01
  • 2021-11-08
  • 2016-12-03
相关资源
最近更新 更多