0

Я хочу подключиться из своего приложения GAE к моему экземпляру Google Cloud MySQL. Я использую драйвер github.com/go-sql-driver/mysql, и я выполнил шаги, указанные в tutorial. По-видимому, я могу подключиться к базе данных без ошибок, но когда я хочу сделать запрос, я получаю driver: bad connection и packets.go:33: unexpected EOF. Я разрешил мой локальный IP-адрес и приложение GAE для доступа к моей базе данных, и я могу подключиться к нему с моего локального компьютера и клиента mysql без проблем. Я уже пытался настроить свое приложение в стандартной среде и следовал совету here, но он тоже не работал.Подключить Google App Engine с облачным хранилищем Google в гибкой среде

Это мой Go-код, с которым я подключиться к базе данных:

host := os.Getenv("DB_HOST") 
user := os.Getenv("DB_USER") 
pwd := os.Getenv("DB_PWD") 
connectionInfo := fmt.Sprintf("%v:%[email protected](%v:3306)/mobile_data?parseTime=true", user, pwd, host) 
db, err := sql.Open("mysql", connectionInfo) 

И это мой app.yaml файл:

runtime: go 
vm: true 
env_variables: 
    "DB_HOST": "[Google Cloud MySQL Instance IPv4]" 
    "DB_USER": "[User]" 
    "DB_PWD": "[Password]" 

Любой наконечник или совет высоко оценили!

+0

Вы подключаетесь к экземпляру sql-сервера первого поколения или второго поколения? Если это второе поколение, вы должны использовать облачный sql-прокси: https://cloud.google.com/sql/docs/access-control#instanceaccess – Tianzhou

+0

Я подключился к экземпляру первого поколения. Ах, в ссылке, которую вы мне пришли, они заявляют, что доступ с гибкой среды приложения к экземпляру первого поколения не поддерживается. Спасибо за ссылку! – treigerm

ответ

0

ссылка: This ссылка указывает, что доступ на уровне экземпляра между гибкой средой приложения и экземпляром облачного SQL-сервера первого поколения еще не поддерживается. Если вы хотите подключиться к Cloud SQL второго поколения, вам придется использовать Cloud Cloud Proxy.
Спасибо @Tianzhou за указание на ссылку.