【问题标题】:Configuring Homestead to work with MySQL Workbench配置 Homestead 以使用 MySQL Workbench
【发布时间】:2015-04-16 15:32:07
【问题描述】:

我今天才开始使用 Homestead,到目前为止我不知道自己在做什么,之前我使用的是 Laravel 附带的内置 PHP 服务器,并且我的计算机上分别安装了 MySQL 服务器和工作台。

通过此设置,我可以轻松连接到我的数据库,但是由于我的 Homestead 正在运行,我似乎无法再次访问该数据库。这个错误不断弹出:

3/3 ErrorException in Connector.php line 47: SQLSTATE[HY000] [1045] 
Access denied for user 'myproject_db101'@'localhost' (using password: YES) 
(View: /home/vagrant/Projects/myproject/resources/views/layout/index.blade.php) 
(View: /home/vagrant/Projects/myproject/resources/views/layout/index.blade.php) 

我该如何解决这个问题?

【问题讨论】:

  • 您能否展示您在 Workbench 中使用的凭据,以及您对 Homestead Vagrantfile 所做的任何自定义?
  • 就像我说的那样,我对这一切都是新手,所以即使我想大声笑,我什至无法进行任何自定义
  • 至于除了我在 Laravel 项目中输入的东西之外的凭据,我还没有在其他任何地方再次输入任何东西,或者我应该在宅基地配置一些东西让我的数据库工作?
  • 也许我很困惑。请尝试通过显示您的连接参数(减去密码)、解释出现上述错误的位置和时间等来澄清您的问题。
  • 这是新安装的宅基地,在哪里可以找到连接参数?

标签: laravel mysql-workbench homestead


【解决方案1】:

我遇到了同样的问题,我尝试了以下步骤来解决它。请让我知道他们是否适合您。

  1. 记下您的 vagrant box 的宅基地 IP 地址。它位于 ~/.homestead 目录下的 Homestead.yaml 文件中。此目录位置在不同的操作系统上会有所不同。但是由于您已经安装了带有宅基地的 vagrant,您应该知道它的位置。对我来说,IP 地址是 192.168.10.10。
  2. 打开 Mysql Connection 向导并提供以下设置 hostname = 192.168.10.10 port = 3306 username = homestead password = secret
  3. 测试您的连接

对我来说,这些设置有效。检查它们是否适合您。

【讨论】:

  • 是的,正如我所说 - 连接的本地 ip 可能不同,并且取决于您的宅基地的配置方式。您需要从您的设置中识别 ip 并使用它来连接。
  • 我也可以使用这些设置进行连接。谢谢! @OmarTariq 我相信 IP 地址末尾的 0 会被删除,所以 192.168.10.1 == 192.168.10.10
  • 我尝试使用这些凭据但无济于事,然后我复制并粘贴了您在其中输入的内容,并且成功了。我可能有一个错字或什么的。 :)
【解决方案2】:

这些其他答案可能对你们有用,但如果有人有像我这样的情况,我只会提供对我有用的东西。希望它可以帮助某人。从今天开始,我正在安装一个全新的宅基地,但如果相关的话,我正在使用一台非常旧的 Mac。

对我有用的是使用我机器的常规 localhost ip 作为主机,然后使用 hometed/secret 组合作为密码,并使用默认端口,但最后是 0。 这加起来是以下设置:

连接方式:标准(TCP/IP)

主持人:127.0.0.1
用户名:homestead
密码:secret
端口:33060

希望这可以帮助某人。它是唯一对我有用的配置。

【讨论】:

  • 这对我来说适用于全新的 Homestead 安装。在我即将放弃我的 Linux 开发笔记本电脑实验并返回 Windows 时救了我!
【解决方案3】:

尝试使用 homestead 的默认 MySQL 凭据:用户:root 密码:secret

如果您通过 MySQL Workbench(而不是从 homestead 虚拟机中)从计算机访问数据库,则可以使用localhost:33060(注意:非标准端口)。这将映射到 VM 中的端口 3306。

从您的应用程序以及您在宅基地虚拟机中工作的任何时候,您都可以在端口 3306 上以 localhost 的身份正常连接到数据库。

【讨论】:

  • 抱歉回复晚了,但是当我尝试这个时,我得到“SQLSTATE[HY000] [2002] Connection denied”
【解决方案4】:

很可能是配置问题。用户'myproject_db101'@'localhost' 没有设置密码或不允许从本地主机连接。您需要另一个具有适当权限的用户(例如 root 用户)来修复该用户的权限。

【讨论】:

    猜你喜欢
    • 2014-07-07
    • 1970-01-01
    • 1970-01-01
    • 2015-04-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-26
    • 2011-06-24
    • 2010-12-19
    相关资源
    最近更新 更多