我正在学习使用Homestead 2.0。我在本地机器上有一个现有的MySQL数据库。如果我在homestead虚拟机上创建了一个新的laravel 5.0项目,我应该如何连接到现有的数据库?
- 如果我需要在Homestead上迁移数据库,应该怎么做? 如果我可以从Homestead连接到我的数据库,我该如何在Homestead上配置它?
谢谢。
我有同样的问题;这就是我如何解决的
我正在开发一个使用WampServer作为开发环境的laravel 4.2项目,后来我决定改为laravel homestead作为开发环境
步骤:
将数据库保存为.sql文件(我的情况是:从phpMyAdmin导出并保存为db.sql)
将.sql文件放在项目的根目录
导航到homestead目录
C:'Users'chebaby'Homestead (master)
进入流浪包厢
vagrant ssh
导航到您的项目根框内(在我的情况下,您早先保存数据库.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回到流浪汉提示符
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;
希望这能回答你的问题
额外的资源
Laravel Homestead- MySQL默认凭证和数据库
如何在MySQL中使用命令行导入SQL文件?
将您的Homestead安装视为在完全不同的机器上运行的远程主机。Homestead不知道你的本地主机的任何信息,因此不能直接连接到本地托管的MySQL数据库。
您的Homestead安装在自己的IP地址上运行。无论IP是什么(可能是192.168.10.10),您都可以使用以下凭据使用MySQL Workbench或SequelPro连接到它:
Host: Your Homestead IP
端口:3306
用户名:家园
密码:秘密
你可以通过打开下面的文件找到你的IP地址:
~/.homestead/Homestead.yaml
如果你在Windows上,那么它可能是:
C: ' '用户名' .homestead '用户Homestead.yaml
为了与数据库交互,确保Homestead首先运行,在Homestead目录下运行vagrant up
,否则会出错。
之后,您可以导出本地数据库,并使用上面描述的凭据将其导入到您的Homestead数据库之一。
注意,Homestead是一个单独的环境,不能访问主机上的DB。Laravel Homestead安装了mysql数据库。您应该使用这个mysql代码在Homestead中运行。解决问题的一个简单方法是在Homestead上安装phpMyAdmin,然后在Homestead中导入DB到mysql。
安装phpMyAdmin的步骤从这里得到了下面的答案,并添加了我的注释
- 从https://www.phpmyadmin.net下载最新版本的phpMyAdmin并将其解压缩到主机的目录中。
注:我提取到/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
启动vagrant,您应该能够通过转到url phpmyadmin.app
访问homestead的mysql。现在已经安装了phpmyadmin,您可以轻松地导入数据库。