Laravel:在Vagrant中连接到SQL数据库

时间:2016-03-22 12:31:57

标签: laravel laravel-4 vagrant

我最近开始使用XAMPP从本地开发到使用流浪汉,使用Laravel的hometead虚拟盒子。一切都很顺利,但我真的不明白如何使我的数据库工作。在互联网上分散了这个主题的一些不足......所以我想我错过了一些简单的东西。

这是我之前的设置/工作流程:

  • 启动XAMPP,包括MYSQL服务器
  • 使用HeidiSQL查看我的数据库,使用默认登录,' root','' (密码为空白)
  • 使用以下方法与Laravel连接:

    'connections' => array(
    
    'mysql' => array(
        'driver'    => 'mysql',
        'host'      => 'localhost',
        'database'  => 'primary_db',
        'username'  => 'root',
        'password'  => '',
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
    )
    

好的 - 在外行人的条件下请 - 现在我在Vagrant中使用此网站,我该怎么做才能连接到这个数据库?

感谢。

编辑这个特殊项目在Laravel 4.2上运行(所以没有.env文件等)

2 个答案:

答案 0 :(得分:2)

当你启动vagrant up框时,它设置环境变量告诉laravel使用/app/config/local/database.php中的配置。

你应该有类似的东西:

'mysql' => array(
    'driver' => 'mysql',
    'host' => 'localhost',
    'database' => 'homestead',
    'username' => 'homestead',
    'password' => 'secret',
    'charset' => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix' => '',)

这些是在vagrant box中创建的数据库的默认参数。

然后,如果要使用旧数据,则必须进行转储并将其导入新数据。您可以使用相同的凭据连接到vagrant内的数据库。唯一改变的是端口:在盒子里面它通常是3306,但是Homestead为主机创建了一个33060到3306的绑定。所以你应该使用heidisql中的端口33060来连接和导入你的旧转储。

答案 1 :(得分:0)

如果您使用默认的Homestead设置,请尝试在.env文件中使用这些凭据:

DB_HOST=127.0.0.1
DB_PORT=33060 // Or other port, whch you have configured
DB_DATABASE=biznes
DB_USERNAME=homestead
DB_PASSWORD=secret