3

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

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

谢谢你。

4

2 回答 2

3

您可以根据需要使用 Google Cloud SQL 或管理自己的 SQL 数据库。

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

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

如果您正在运行自己的数据库,则需要确保定期备份并将它们从数据库机器上复制到 Google Cloud Storage 之类的地方。如果您使用 Cloud SQL,则可以使用控制台或 API 来安排数据库备份。

于 2013-06-05T14:59:09.680 回答
3

这个答案是从“嗯,问题是要使用 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 数据库实例之间建立了一个通道):

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()

希望能帮助到你。

于 2016-09-27T01:50:18.047 回答