外部数据库连接上的Django操作错误

时间:2018-08-27 10:43:51

标签: python mysql django database

我将Azure Virtual Machineubuntu server一起使用。

ssh进入机器并安装了灯泡服务器(还有phpmyadmin,因此我可以通过浏览器查看数据库并执行操作)。 我的django项目正在我的macbook上运行。

我尝试使用文档和其他stackoverflow问题中介绍的方法连接到mysql上安装在VM上的django数据库,但没有一个起作用。

假设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?

另外,当我尝试使用mysqlclient安装pip install mysqlclient时,也会引发错误:

Command "python setup.py egg_info" failed with error code 1
  in /private/var/folders/st/8qzvdtwx6xsc1w1ffqd2c7br0000gn/T/pip-install-p25gukfh/mysqlclient/

1 个答案:

答案 0 :(得分:0)

我对mysql的连接有点生疏,但是如this answer所述:

  

默认情况下禁用的是远程root访问。如果要启用它,请运行此SQL [...]

也许您可以先检查一下以排除这种错误配置。 或者尝试使用不是root的其他用户。