在Laravel 5宅基地工作时访问在XAMPP中创建的数据库

时间:2015-01-29 15:41:57

标签: mysql database phpmyadmin laravel-5 homestead

我正在Laravel 5开始一个大型项目。过去我使用XAMPP进行所有本地工作。现在我们将在Homestead工作。我让Homestead建立并运行,我启动了一个Laravel 5项目。工作正常。

由于各种原因,我们不想使用Laravel迁移,而是在与XAMPP-PHPMyAdmin组合使用MYSQL工作台来处理mysql数据库。我的问题是:如何从Homestead VM中访问这个mysql数据库?

我在app / Config / database.php中尝试了各种设置。但没有工作。

我在这里查找了相关的问题,但似乎没有人回答我的问题:是否可以从宅基地内访问远程数据库(或主机上的数据库)?

我在某处读到我可以使用包(https://github.com/Xethron/migrations-generator)从SQL转储创建迁移以复制宅基地中的数据库。使用这个作为解决方法,我可以将我的Laravel应用程序连接到我在XAMPP中设置的数据库,生成迁移,然后连接回Homestead数据库,最后运行迁移。我认为这可行,但我更喜欢直接连接。有关如何连接到Homestead VM之外的数据库的任何建议都是受欢迎的。

2 个答案:

答案 0 :(得分:3)

< 1>打开.env(可以在laravel的根目录中找到)

< 2>将DB_HOST更改为您的LAN IP地址(类似于198.168.0.11)

DB_HOST = LAN_IP

< 3>现在转到phpmyadmin并在特权标签中   添加新用户并填写登录信息

选择主机为any_host(或使用您的PC名称填充主机)

答案 1 :(得分:1)

我对Laravel和Homestead来说也相对较新,但也有一些运气。

首先,我不确定在Homestead内部使用MySQL实例是一个好主意,但如果你有理由我会接受你的话。从您的“Homestead”目录中可以看出,您可以将“vagrant ssh”放入您的Homestead VM中。

在这里你可以将mysql -u homestead -psecret dbname导入你的数据库并随意配置它就像你的XAMPP实例一样。如果您使用的是Laravel模型,只要它们与数据库匹配就可以了。

要从VM中连接到另一个数据库,您是否尝试从命令行连接到该外部数据库?只要您的XAMPP MySQL实例配置为接收远程连接并且您已正确配置用户,您就应该能够从Vagrant VM中的命令行进行测试。请参见下文,其中192.168.1.196是包含要连接的MySQL实例的框/ VM的IP地址。我没有运行XAMPP,但是我能够通过提供我的本地网络地址从Vagrant Homestead内部连接VM到本地计算机上运行的另一个MySQL实例。 “127.0.0.1”显然不会起作用,因为Vagrant VM会将其视为自身。

mysql -u user -ppassword dbname -h 192.168.1.196

希望这有帮助。