GAE Python 3.7 Standard не может подключиться к облачному серверу SQL - PullRequest
0 голосов
/ 13 июня 2019

Я следую руководству по развертыванию приложения Django в Google App Engine здесь .Я могу запустить приложение локально, используя cloud_sql_proxy, но при развертывании приложения в GAE приложение завершается с ошибкой:

(2003, "Can't connect to MySQL server on 'localhost' ([Errno 111] Connection refused)")

При проверке вывода ошибки, похоже, что django пытаетсяподключитесь к сокету unix на /cloudsql/<project>:<region>:<instance>, как и ожидалось, просто по какой-то причине происходит сбой.Что может быть причиной этой проблемы?

Ответы [ 2 ]

1 голос
/ 13 июня 2019

Похоже, проблема была в проекте, который я использовал для этого урока.Каким-то образом учетная запись службы Google App Engine для этого проекта была отозвана.После восстановления этих разрешений (присвоения ему роли редактора) учебное пособие работало над исходным проектом.

0 голосов
/ 13 июня 2019

Вам необходимо изменить соединение с базой данных в настройках Django.

appengine/standard_python37/django/mysite/settings.py

Файл settings.py содержит конфигурацию для вашей базы данных SQL.Код в файле settings.py использует переменную среды GAE_APPLICATION, чтобы определить, работает ли приложение на App Engine или на локальном компьютере:

Когда приложение работает на App Engine, оно подключается к хосту MySQL с помощьюUnix-сокет / cloudsql.Когда приложение запускается на вашем локальном компьютере, оно подключается к хосту MySQL с помощью TCP, для которого требуется имя пользователя и пароль.

Прочитайте нижнюю часть документации, здесь

Редактировать: убедитесь, что вы включили Cloud SQL API.

...