0

我想從我的GAE應用連接到我的Google Cloud MySQL實例。我使用的是github.com/go-sql-driver/mysql驅動程序,我遵循tutorial中指定的步驟。顯然我可以連接到數據庫沒有錯誤,但是當我想提出請求時,我得到driver: bad connectionpackets.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代理:https://cloud.google.com/sql/docs/access-control#instanceaccess – Tianzhou

+0

我連接了第一代實例。啊,在你發給我的鏈接中,他們聲明不支持從應用引擎靈活環境訪問第一代實例。感謝您的鏈接! – treigerm

回答

0

This鏈接指出應用程序引擎靈活環境與第一代雲SQL實例之間的實例級訪問尚未得到支持。如果您想連接到第二代雲端SQL,則必須使用雲端SQL代理。
感謝@Tianzhou指點我的鏈接。

相關問題