通过Django连接到Vagrant中的数据库

时间:2014-10-06 03:07:21

标签: mysql django vagrant

我有一个Django项目设置,我想在Vagrant vm中运行。我能够获得vm并配置,我在vm中设置了一个MySQL数据库,我想要连接到Django应用程序,但每次我尝试运行runserver时都会收到此错误:

django.db.utils.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: NO)")

这似乎仍在尝试连接到我的本地MySQL实例。

我的Vagrant网络设置如下:

config.vm.network :private_network, ip: "192.168.33.3"
config.vm.network :forwarded_port, guest: 3306, host: 8000

Django数据库设置:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'dbname',
        'USER': 'root',
        'PASSWORD': '',
        'PORT': 8000
    }
}

尝试this answer中的方法但没有成功。

1 个答案:

答案 0 :(得分:1)

我也有这个问题。我已经修改了settings.pyDATABASE的参数中提供名称hostname。 最后,DATABASE参数将如下所示

DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'djangodb', 'USER':'root', 'PASSWORD':'root', 'HOST':'127.0.0.1' } } 它对我有用。