我正在 Google Compute Engine 上构建一个 Django 站点,并且我想在 SQL Cloud 中安装我的数据库。有可能的?
最常见的方法是什么?在虚拟机上安装 MySQL 还是使用 Cloud SQL 实例?
谢谢你。
我正在 Google Compute Engine 上构建一个 Django 站点,并且我想在 SQL Cloud 中安装我的数据库。有可能的?
最常见的方法是什么?在虚拟机上安装 MySQL 还是使用 Cloud SQL 实例?
谢谢你。
您可以根据需要使用 Google Cloud SQL 或管理自己的 SQL 数据库。
要使用 Cloud SQL,您需要按照此处的说明进行操作: https ://developers.google.com/cloud-sql/docs/external
如果要管理自己的 SQL 数据库,可以在实例上安装 MySQL 或其他数据库。根据您的需要,您可以从连接了相当大磁盘的 g1-small 开始,然后使用更大的实例类型来运行您的数据库。
如果您正在运行自己的数据库,则需要确保定期备份并将它们从数据库机器上复制到 Google Cloud Storage 之类的地方。如果您使用 Cloud SQL,则可以使用控制台或 API 来安排数据库备份。
这个答案是从“嗯,问题是要使用 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()
希望能帮助到你。