2

現在我想將一個Rails應用程序部署到Google Container Engine。並使用Google Cloud SQL作爲數據庫。如何通過SSL連接Google Cloud SQL和數據庫url?

當我試圖從谷歌集裝箱引擎連接谷歌雲SQL,我得到這個錯誤:

ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0 

這裏是爲了解決一個文檔,但沒有關於谷歌集裝箱引擎的信息:

https://cloud.google.com/sql/docs/diagnose-issues#connection

的谷歌雲SQL訪問SSL連接的動態分配的IP地址:

https://cloud.google.com/sql/docs/access-control#dynamicIP

所以我需要爲MySQL創建實例的客戶端證書:

https://cloud.google.com/sql/docs/configure-ssl-instance

然後連接這樣說:

shell> mysql --ssl-ca=server-ca.pem --ssl-cert=client-cert.pem --ssl-key=client-key.pem \ 
     --host=instance-IP --user=user-name --password 

https://cloud.google.com/sql/docs/mysql-client#connect

但我想通過mysql數據庫的URL從連接谷歌的Cloud SQL我在Google Container Engine上的計劃:

mysql2://myapp:[email protected]/myapp?checkout_timeout=20000 

如何將--ssl-ca--ssl-cert--ssl-key用這種方法?

回答

0

Google Cloud SQL在這方面與其他任何MySQL服務器沒有區別。您可以將SSL信息作爲參數追加到URL的查詢部分。在你的例子中它將是:

mysql2://myapp:[email protected]/myapp?checkout_timeout=20000&sslca=server-ca.pem&sslcert=client-cert.pem&sslkey=client-key.pem 
相關問題