我在Windows 7机器上使用python的MySQLdb模块,并尝试连接到Amazon RDS(SQL Server Express)上的远程数据库。这是我用来建立连接的简单连接方案,但它永远不会起作用:
import MySQLdb
cnx= {'host': 'dbname.xxxxxxxxxxxx.us-west-1.rds.amazonaws.com',
'username': 'username',
'password': 'password',
'db': 'dbname'}
db = MySQLdb.connect(cnx['host'],cnx['username'],cnx['password'], cnx['db'])
当我执行此连接脚本时,它会等待几秒钟(主要是10到15秒),然后发出以下错误:
OperationalError: (2003, "Can't connect to MySQL server on 'dbname.xxxx.us-west-1.rds.amazonaws.com' (10060)")
我之前在localhost上使用过sql server,并且习惯使用相同的方案连接它,并且它始终有效。现在,这是我第一次在亚马逊rds上处理数据库,并且不知道为什么会出现这个错误。请帮忙。感谢。
答案 0 :(得分:14)
已经7个月了,你可能已经想到了... 这可能是因为您没有将要连接的计算机的IP添加到RDS实例的安全组。首先转到详细信息页面,单击指向安全组的链接,然后您应该在页面的找到添加连接主机的IP。