我可以从Google Compute Engine连接到Google Cloud SQL吗?

时间:2013-06-04 22:38:44

标签: google-cloud-sql google-compute-engine

我正在Google Compute Engine上构建一个Django网站,我想在SQL Cloud中安装我的数据库。有可能吗?

最常见的方法是什么?在虚拟机上安装MySQL还是使用Cloud SQL实例?

谢谢。

2 个答案:

答案 0 :(得分:3)

您可以使用Google Cloud SQL或管理自己的SQL数据库,具体取决于您的需求。

要使用Cloud SQL,您需要按照此处的说明操作:https://developers.google.com/cloud-sql/docs/external

如果要管理自己的SQL数据库,可以在实例上安装MySQL或其他数据库。根据您的需要,您可以从附带相当大的磁盘的g1-small开始,然后使用更大的实例类型来运行数据库。

如果您正在运行自己的数据库,则需要确保定期备份并将其从数据库计算机复制到Google云端存储等。如果您使用的是Cloud SQL,则可以使用控制台或API来安排数据库备份。

答案 1 :(得分:1)

这个答案是从 跟进的。问题是,要使用Cloud SQL,我必须使用JDBC进行连接。我正在使用Python。我该怎么做?“ < /强>

我不是来自Python世界,但我最近将我在GCE实例上的Java应用程序连接到Cloud-Sql DB(通过cloud-sql-proxy方法,如下所述:https://cloud.google.com/sql/docs/compute-engine-access)并且没有看到任何原因它也不应该适用于Python。

以下是我刚试过并通过cloud-sql-proxy轻松将我的测试Python应用程序连接到Cloud-Sql DB:

步骤1:在本地端口上下载并运行代理,如下所示(这将在本地端口3306和由连接名称“PROJ_NAME:TIMEZONE:SQL_NAME”标识的Cloud-SQL数据库实例之间建立通道):< / p>

sudo wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64
sudo mv cloud_sql_proxy.linux.amd64 cloud_sql_proxy
sudo chmod +x cloud_sql_proxy
sudo ./cloud_sql_proxy -instances=PROJ_NAME:TIMEZONE:SQL_NAME=tcp:3306 &

步骤2:确保已安装python-mysqldb

sudo apt-get install python-mysqldb

Steo 3:运行以下测试程序,通过本地套接字3306连接到Cloud-SQL数据库,由代理设置:

import MySQLdb
conn = MySQLdb.connect(host= "127.0.0.1", port=3306, user="root", passwd="my_root_password", db="my_db")
x = conn.cursor()
try:
   x.execute("""INSERT INTO Test(test_id) VALUES ('111')""")
   conn.commit()
except:
   conn.rollback()

conn.close()

希望它有所帮助。