我有一个Django项目,我想在Vagrant虚拟机中运行。我能够启动和配置虚拟机,并且我在虚拟机内部设置了一个MySQL数据库,我希望Django应用程序能够连接到该虚拟机,但每当我尝试运行runserver时,都会收到以下错误消息:通过Django连接到Vagrant的数据库
django.db.utils.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: NO)")
这似乎仍然试图连接到我的本地MySQL实例。
我流浪的网络设置如下:
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的办法。
如果使用MySQLBench之类的工具从主机连接到MySQL,会发生什么情况?你可以手动连接到你的vm里面的mysql吗?您是否遇到可能主机端口已在使用的流浪错误? – Sgoettschkes 2014-10-18 18:57:23