4

Google App Engine에서 실행되는 Python 애플리케이션 (PyMySQL 0.7.9 사용)에서 Cloud SQL에 연결하려고합니다.PyMySQL을 사용하여 Cloud SQL에 연결할 수 없습니다.

내 연결 문자열 (자격 증명은 물론 가짜) 다음과 같습니다

pymysql.connect(unix_socket='/cloudsql/gae_project_name:cloudsql_instance_name', 
       user='user', password='', db='database_name') 

I 나타나는 오류 메시지는 다음과 같습니다 PyMySQL 그 I를 인식하지 못하는 것처럼

OperationalError: (2003, "Can't connect to MySQL server on 'localhost' ([Errno 97] Address family not supported by protocol)")

그것은이다 유닉스 소켓을 통해 연결하려고 시도하고 대신에 호스트 인자의 기본값을 시도합니다 (나는 localhost이라고 추정합니다)

MySQLdb와 동일한 연결 문자열로 연결할 수 있습니다.

답변

1

왜 대신 MySQLdb를 사용하지 않습니까?

방금 ​​PyMySQL을 사용하여 Flask 응용 프로그램을 배포 할 때도 동일한 문제가 발생했습니다. 많은 수정을 시도했지만 성공하지 못했습니다. 내 해결 방법은 MySQLDb 대신 aha ..를 사용하는 것이 었습니다.

+0

Hehe 그게 내가하는 일이다. mysqldb 라이브러리는 파이썬 3을 지원하지 않는다. 요즘 PyMySQL과 함께 가고 미래 ​​보장형 옵션은 mysqldb API와 호환되므로 두 사람은 쉽다) – Niklas9