【发布时间】:2018-08-27 10:43:50
【问题描述】:
我正在使用 Azure Virtual Machine 和 ubuntu server。
我将ssh 安装到机器中并安装了一个灯服务器(还有phpmyadmin,所以我可以通过浏览器查看我的数据库并执行操作)。
我的django 项目正在我的macbook 上运行。
我尝试使用文档和其他 stackoverflow 问题中解释的方法连接到安装在 django 中的 VM 上的 mysql 数据库,但它们都不起作用。
假设1.2.3.4 是我的虚拟机IP。
settings.py
DATABASES = {
# mysql
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'DBname',
'USER': 'rootuser',
'PASSWORD': 'rootPassword',
'HOST': '1.2.3.4',
},
}
python manage.py runserver的输出:
django.db.utils.OperationalError:
(2003, "Can't connect to MySQL server on '1.2.3.4' (timed out)")
我需要配置mysql 数据库吗? 1.2.3.4 不是我需要用于数据库连接的同一个 IP 吗?
当我尝试使用pip install mysqlclient 安装mysqlclient 时,它会引发错误:
Command "python setup.py egg_info" failed with error code 1
in /private/var/folders/st/8qzvdtwx6xsc1w1ffqd2c7br0000gn/T/pip-install-p25gukfh/mysqlclient/
【问题讨论】:
-
也许你需要指定端口号。还 ?是否设置了正确的入站/出站流量规则?
-
我试过了,它没有用,端口是 3306,但我从 django 得到同样的操作错误
-
@Umair “交通规则”是什么意思?我需要配置我的路由器还是远程服务器?
标签: python mysql django database