【问题标题】:Why I can't access database through mysql workbench using laravel homestead?为什么我无法使用 laravel homestead 通过 mysql workbench 访问数据库?
【发布时间】:2020-12-09 11:47:46
【问题描述】:

我想连接到使用 mysql 工作台创建的名为“bacon”的数据库,但我无法访问。我使用 vagrant up 和配置的文件启动 VM。我尝试了两个端口 3306 和 33060 以及两个 IP 127.0.0.1 和 192.168.10.10,但我被拒绝访问,如下图所示。有人可以帮我吗?

(我使用的是通过 VS 代码在 win10 上运行的 Laravel Homestead 8.17.2)

.env 文件配置:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=bacon
DB_USERNAME=root
DB_PASSWORD=secret

如果我从我的虚拟机运行:

mysql> show databases;
+---------------------+
| Database            |
+---------------------+
| information_schema  |
| bacon               |
| homestead           |
| #mysql50#lost+found |
| mysql               |
| performance_schema  |
| sys                 |
+---------------------+
7 rows in set (0.00 sec)

Homestead.yaml 文件:

[...]
sites:
    - map: bacon.test
      to: /home/vagrant/code/bacon/public

databases:
    - homestead
    - bacon

features:
    - mysql: true
    - mariadb: false
    - postgresql: false
    - ohmyzsh: false
    - webdriver: false

# ports:
#     - send: 50000
#       to: 5000
#     - send: 7777
#       to: 777
#       protocol: udp

【问题讨论】:

    标签: php mysql laravel homestead


    【解决方案1】:

    在 homestead 中,默认的数据库用户是 homestead,密码是 secret。所以root不行。在此处查看有关连接到您的宅基地 MySql 实例的文档。 https://laravel.com/docs/8.x/homestead#connecting-to-databases

    【讨论】:

    • 谢谢!!那么.env 文件数据库参数是什么?那里的变化不应该修改用户名?
    • 那是让你的应用程序访问数据库。如果您要使用生产数据库或其他环境,这将会改变。另外,如果可行,您可以将其标记为答案吗?
    • 是的,谢谢。我已经标记了你的答案,但我还没有足够的权限,所以你看不到它,我想就是这样。
    【解决方案2】:

    对于其他不适用的人,请尝试使用 192.168.10.10 的备用 IP

    hostname  = 192.168.10.10
    port = 3306
    username = homestead
    password = secret
    

    这适用于 Windows 10 Home Version 20H2 OS Build 19042.1165(要查找此信息,请导航至“开始”,键入“关于”并单击“关于您的 PC”)。

    【讨论】:

      猜你喜欢
      • 2014-04-12
      • 2018-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-29
      • 1970-01-01
      • 2014-08-02
      相关资源
      最近更新 更多