OperationalError: "Unknown MySQL server host"
OperationalError: "Unknown MySQL server host"
我正在尝试借助 MySQldb 连接到 AWS 数据库。
当我将其与配置连接时:
DATABASES = {
"default": {
"host": "xxxxx-xxxx.xxxxxx.us-west-x.xxxx.amazonaws.com",
"port": 3306,
"user": "<name>",
"passwd": "********",
"db": "<db_name>",
"charset": "utf8",
}
}
使用 MySQLdb:
def get_mysql_connection(dbname="default"):
"""
Returns a connection to database specified in settings
by the given dbname.
"""
config = settings.DATABASES[dbname]
return MySQLdb.connect(**config)
我收到这个错误:
in get_mysql_connection
return MySQLdb.connect(**config)
File "/usr/local/lib/python3.7/site-packages/MySQLdb/__init__.py", line 84, in Connect
return Connection(*args, **kwargs)
File "/usr/local/lib/python3.7/site-packages/MySQLdb/connections.py", line 164, in __init__
super(Connection, self).__init__(*args, **kwargs2)
MySQLdb._exceptions.OperationalError: (2005, "Unknown MySQL server host 'xxxxx-xxxx.xxxxxx.us-west-x.xxxx.amazonaws.com' (-3)")
我可以使用 MySQL Workbench 在同一网络上使用相同的凭据连接到数据库,但在 Python.
中连接时出现错误
我应该在哪里进行更改才能使其正常工作?
我终于找到了解决方法。我发现的问题与网络 speed/bandwidth.
有关
从 MySQL Workbench 连接时,它没有任何超时或查询超时非常高,因此它连接并显示可以执行表和数据库查询。
但在Python中,它与主机的连接超时时间很短。因此,我通过添加参数 connect_timeout
.
增加了 config 中的超时时间
现在,配置如下所示:
DATABASES = {
"default": {
"host": "xxxxx-xxxx.xxxxxx.us-west-x.xxxx.amazonaws.com",
"port": 3306,
"user": "<name>",
"passwd": "********",
"db": "<db_name>",
"connect_timeout": 180,
"charset": "utf8",
}
}
我正在尝试借助 MySQldb 连接到 AWS 数据库。
当我将其与配置连接时:
DATABASES = {
"default": {
"host": "xxxxx-xxxx.xxxxxx.us-west-x.xxxx.amazonaws.com",
"port": 3306,
"user": "<name>",
"passwd": "********",
"db": "<db_name>",
"charset": "utf8",
}
}
使用 MySQLdb:
def get_mysql_connection(dbname="default"):
"""
Returns a connection to database specified in settings
by the given dbname.
"""
config = settings.DATABASES[dbname]
return MySQLdb.connect(**config)
我收到这个错误:
in get_mysql_connection
return MySQLdb.connect(**config)
File "/usr/local/lib/python3.7/site-packages/MySQLdb/__init__.py", line 84, in Connect
return Connection(*args, **kwargs)
File "/usr/local/lib/python3.7/site-packages/MySQLdb/connections.py", line 164, in __init__
super(Connection, self).__init__(*args, **kwargs2)
MySQLdb._exceptions.OperationalError: (2005, "Unknown MySQL server host 'xxxxx-xxxx.xxxxxx.us-west-x.xxxx.amazonaws.com' (-3)")
我可以使用 MySQL Workbench 在同一网络上使用相同的凭据连接到数据库,但在 Python.
中连接时出现错误我应该在哪里进行更改才能使其正常工作?
我终于找到了解决方法。我发现的问题与网络 speed/bandwidth.
有关从 MySQL Workbench 连接时,它没有任何超时或查询超时非常高,因此它连接并显示可以执行表和数据库查询。
但在Python中,它与主机的连接超时时间很短。因此,我通过添加参数 connect_timeout
.
现在,配置如下所示:
DATABASES = {
"default": {
"host": "xxxxx-xxxx.xxxxxx.us-west-x.xxxx.amazonaws.com",
"port": 3306,
"user": "<name>",
"passwd": "********",
"db": "<db_name>",
"connect_timeout": 180,
"charset": "utf8",
}
}