Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django连接到mysql,即使端口设置不正确_Mysql_Django - Fatal编程技术网

Django连接到mysql,即使端口设置不正确

Django连接到mysql,即使端口设置不正确,mysql,django,Mysql,Django,我正在尝试使Django连接到端口3307上的本地主机MySQL。我注意到,当我在settings.py中更改端口号时,它仍然在3306上连接。所以我试着把它改成一些无意义的值,它仍然在3306上保持连接。我正在Apache2上使用WSGI,我也尝试重新启动服务器。要使Django连接到所需的端口,我还需要做什么?这是我的settings.py: 'default': { 'ENGINE': 'django.db.backends.mysql', # Add 'postgresq

我正在尝试使Django连接到端口3307上的本地主机MySQL。我注意到,当我在settings.py中更改端口号时,它仍然在3306上连接。所以我试着把它改成一些无意义的值,它仍然在3306上保持连接。我正在Apache2上使用WSGI,我也尝试重新启动服务器。要使Django连接到所需的端口,我还需要做什么?这是我的settings.py:

'default': {
        'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'mydb',                # Or path to database file if using sqlite3.
        'TEST_NAME': 'test_mydb',
        # The following settings are not used with sqlite3:
        'USER': 'mydb',
        'PASSWORD': 'mydb',
        'HOST': '',                      # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
        'PORT': '33074',                      # Set to empty string for default.
    }

您的答案在
主机的评论中:

Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.

只有在为
主机
指定
127.0.0.1
时才使用端口号,否则它使用套接字。

您没有通过端口3306连接;您正在通过本地套接字进行连接


MySQL的默认行为是,如果您将“主机”留空,则通过本地套接字(用于进程之间快速通信的UNIX系统,根本不涉及网络堆栈)进行连接。如果要显式使用网络堆栈连接到localhost,则必须指定“127.0.0.1”作为主机。完成此操作后,配置中选择的端口将变得相关。

Aaah!有道理!谢谢!我会在几分钟内接受这个。还不让我接受。