我正在学习使用Homestead 2.0。我的本地计算机上有一个现有的MySQL数据库。如果我在homestead虚拟机上创建一个新的laravel 5.0项目,我该怎么做才能连接到现有数据库?
感谢。
答案 0 :(得分:15)
我有同样的问题;这就是我如何解决它
我正在开发一个以WampServer为开发环境的laravel 4.2项目,后来我决定改为laravel homestead作为开发环境
步骤:
将数据库保存为.sql文件(我的情况:从phpMyAdmin导出并保存为db.sql)
将.sql文件放在项目的根目录中
导航到您的宅基地目录
C:\Users\chebaby\Homestead (master)
进入流浪盒
vagrant ssh
导航到框中的项目根目录(在我的情况下你早期保存了darabase .sql文件:db.sql)
vagrant@homestead:~$ cd Code/project-folder/
登录mysql
vagrant@homestead:~/Code/project-folder$ mysql --user=homestead --password=secret
检查您的数据库是否已经存在
mysql> show databases;
另外,通过运行此命令来创建数据库
mysql> create database yourdatabasename;
既然您确定已创建数据库,请将mysql退回到vagrant提示符
mysql> exit;
通过运行此
导入数据库文件vagrant@homestead:~/Code/project-folder$ mysql --user=homestead --password=secret yourdatabasename < db.sql
您所要做的就是检查现有数据库是否已成功导入
登录mysql
vagrant@homestead:~/Code/project-folder$ mysql --user=homestead --password=secret
然后运行
mysql> use yourdatabasename
显示表格
mysql> show tables;
希望这能回答你的问题
其他资源
答案 1 :(得分:1)
将您的Homestead安装视为在完全不同的计算机上运行的远程主机。 Homestead对您的localhost一无所知,因此无法直接连接到您本地托管的MySQL数据库。
您的Homestead安装使用自己的IP地址。无论是什么IP(可能是192.168.10.10),您都可以使用MySQL Workbench或SequelPro使用以下凭据连接到它:
主持人:您的Homestead IP
港口:3306
用户名:宅基地
密码:秘密
您可以通过打开以下文件找到您的IP:
〜/ .homestead / Homestead.yaml
如果您使用的是Windows,则可能是:
C:\ Users \您的用户名\ .homestead \ Homestead.yaml
为了与您的数据库进行交互,请确保Homestead首先在Homestead目录中运行vagrant up
,否则会出错。
之后,您可以使用上述凭据导出本地数据库并将其导回到您的一个Homestead数据库中。
答案 2 :(得分:1)
请注意,Homestead是一个单独的环境,无法访问主机上的数据库。 Laravel Homestead装有一个mysql数据库。您应该将此mysql用于在Homestead中运行的代码。解决问题的一种简单方法是在Homestead盒上安装phpMyAdmin,然后将数据库导入Homestead中的mysql。
安装phpMyAdmin的步骤: 从here得到了以下答案,并添加了我的笔记
/var/www/phpmyadmin/public
。这里的public
目录很重要,否则访问No input file specified.
时会收到phpmyadmin
错误。配置homestead.yaml
文件以添加一个可以访问phpmyadmin的站点
folders:
- map: /var/www/phpmyadmin
to: /home/vagrant/code/phpmyadmin
sites:
- map: phpmyadmin.app
to: /home/vagrant/code/phpmyadmin/public
将此行添加到您的\etc\hosts
文件中:
192.168.10.10 phpmyadmin.app
注意:192.168.10.10
是我的homestead.yaml
配置文件中的IP。
现在通过运行vagrant up
启动流浪汉,您应该可以通过访问URL phpmyadmin.app
来访问homestead的mysql。现在已经安装了phpmyadmin,您可以轻松导入数据库。