我正在尝试连接到我创建的googlecloudsql实例,但是每次尝试连接都会导致一条错误消息,说我无法连接或没有访问权限。我使用了云代理连接、私有IP连接和云shell连接。你知道吗
我使用了cloudsqlgit存储库作为参考(https://github.com/GoogleCloudPlatform/python-docs-samples/tree/master/appengine/standard/cloudsql)
我只改变了关于我的具体项目和实例这些文件。你知道吗
要收集有关连接的信息,请执行以下操作:
CLOUDSQL_CONNECTION_NAME = os.environ.get('CLOUDSQL_CONNECTION_NAME')
CLOUDSQL_USER = os.environ.get('CLOUDSQL_USER')
CLOUDSQL_PASSWORD = os.environ.get('CLOUDSQL_PASSWORD')
要设置连接(包括在git上),请执行以下操作:
if os.getenv('SERVER_SOFTWARE', '').startswith('Google App Engine/'):
# Connect using the unix socket located at
# /cloudsql/cloudsql-connection-name.
cloudsql_unix_socket = os.path.join(
'/cloudsql', CLOUDSQL_CONNECTION_NAME)
db = MySQLdb.connect(
unix_socket=cloudsql_unix_socket,
user=CLOUDSQL_USER,
passwd=CLOUDSQL_PASSWORD)
else:
db = MySQLdb.connect(
host='127.0.0.1', user=CLOUDSQL_USER, passwd=CLOUDSQL_PASSWORD)
我收到的错误:
pymysql.err.OperationalError错误:(1045,“拒绝访问用户“”@'localhost'(使用密码:YES)”)
以及
(pymysql.err.OperationalError错误)(2003,“无法连接到'localhost'上的MySQL服务器([Errno 2]没有这样的文件或目录)”)
我什么都试过了。这只是我所走的许多路线中的一个例子。任何建议或指导将不胜感激。你知道吗
您正在引用的示例要求您在appengine Standard上运行,或者使用代理在
/cloudsql/<INSTANCE_CONNECTION_NAME>
创建Unix套接字。你知道吗在您的示例中,我将确保您使用的检查(
SERVER_SOFTWARE
env var)工作正常。你知道吗当您在本地运行时,您的应用程序将尝试连接127.0.0.1。要使其工作,代理需要运行并绑定到tcp端口。检查代理中的日志以查看是否引发了任何其他错误。你知道吗
在appengine中运行时,请确保您有followed the setup on this page来启用Cloud SQL Admin API。你知道吗
相关问题 更多 >
编程相关推荐