我有一个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中的方法但没有成功。
答案 0 :(得分:1)
我也有这个问题。我已经修改了settings.py
在DATABASE
的参数中提供名称hostname。
最后,DATABASE
参数将如下所示
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'djangodb',
'USER':'root',
'PASSWORD':'root',
'HOST':'127.0.0.1'
}
}
它对我有用。