构建云SQL数据库与Django应用的连接

本文将指导如何将数据库与Django应用相连接。通过本教程的学习,将对SQL数据库、它们的特性、属性以及实际应用有一个充分的理解。本文是作为“数据科学博客大赛”的一部分发布的。

目录

  • SQL数据库是什么?
  • 云SQL的优势
  • 设置SQL数据库的流程
  • 启用SQL管理API
  • 创建数据库
  • 配置网络设置
  • 创建Django应用
  • 常见问题解答

SQL数据库是什么?

SQL,即结构化查询语言,是一种用于创建和管理关系型数据库的编程语言。关系型数据库由包含行和列数据的表格组成,这些表格在一个预定义的模型/模式中,并且这些表格中的数据之间存在关系。它们也被称为关系型数据库管理系统(RDBMS)。关系型数据库以电子表格或Excel表格格式存储数据。SQL数据库就是关系型数据库的一个例子。一些例子包括:

  • SQLite
  • MySQL
  • PostgreSQL
  • Cassandra
  • 等等。

云SQL的优势

云SQL是平台即服务(PaaS)的一个例子。它是提供高可用性的最佳数据库之一,自动管理延迟、更新、备份等。可以使用各种云SQL服务提供商的服务,如Google Cloud Platform(GCP)、Microsoft Azure、AWS等。本教程使用GCP创建云SQL数据库。

设置SQL数据库的流程

1. 登录到GCP控制台。 前提条件:必须在Google Cloud上有一个计费账户,这是一项付费服务。 2. 创建一个新项目或使用现有项目。 3. 选择新创建的项目。 4. 导航到SQL。 5. 点击创建实例按钮。 6. 选择SQL数据库的类型。在本教程中,选择了PostgreSQL。 7. 启用PostgreSQL实例API。 8. 填写数据库配置,如ID、密码等。还可以根据配置监控实例的月费用。最后,在选择所有配置后创建实例。 9. 新创建的数据库看起来像这样: 10. 可以看到实例的公共和内部IP地址。还可以打开Cloud Shell访问其终端。

启用SQL管理API

通过启用此API,可以通过Cloud Shell控制数据库。 1. 导航到APIs & Services >> Library。 2. 搜索“Cloud SQL管理API”并启用它。 3. 导航到APIs & Services >> Credentials以创建一个新的服务账户。

创建数据库

1. 现在,导航到SQL数据库并打开Cloud SQL Shell。 2. 在Cloud SQL Shell中,输入以下命令,然后输入在创建实例时设置的密码。 注意:以下命令可能与不同。 $gcloud SQL connect aryansqldb –user=postgres –quiet 可以使用Shell或GCP控制台创建新数据库。将向展示两种方法。 a) 使用Shell创建DB: $ CREATE DATABASE #sqltutdb; 使用以下命令获取所有数据库的列表: $ l 可以观察到数据库已成功创建。 b) 使用GCP控制台创建DB: 导航到Databases创建一个选择名称的新数据库。

配置网络设置

本节将配置防火墙规则,以允许所有传入请求或流量访问实例。 1. 导航到Connections >> Networking。 2. 点击添加网络以添加想要允许的IP地址范围。选择了IP地址0.0.0.0/0。在提供登录凭据后,它将允许所有IPV4客户端连接到实例。但在生产构建中,必须只添加应用程序将托管的特定IPV4地址。

创建Django应用

本节将创建一个示例Django应用,并远程将该应用与云SQL数据库连接。 1. 安装Django $ pip install django $ pip install psycopg2 2. 创建一个新项目 $ django-admin startproject #sqldbtut 3. 配置Settings.py文件 需要将默认数据库从SQLite更改为PostgreSQL。 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': "", #sqltutdb 'USER': "", #postgres 'PASSWORD': "", 'HOST': "", 'PORT': 5432, } 4. 在数据库中创建迁移 为了检查数据库是否成功连接,将在数据库中创建迁移。 $ python manage.py makemigrations $ python manage.py migrate 太棒了!创建了一个云SQL数据库,并成功测试了它。

Q1. 如何管理Google Cloud SQL?
A. Google Cloud SQL通过Google Cloud控制台进行管理,轻松控制数据库,包括MySQL、PostgreSQL和SQL Server。像扩展、备份和安全这样的任务可以轻松管理。
Q2. Google Cloud有SQL数据库吗?
A. 是的,Google Cloud提供多种SQL数据库选项,包括Cloud SQL for MySQL、PostgreSQL和SQL Server,确保灵活性以满足不同项目需求。
Q3. 可以在Google Cloud上运行SQL Server吗?
A. 当然可以!Google Cloud支持通过Google Compute Engine运行SQL Server,或者作为通过Cloud SQL for SQL Server管理的服务。
Q4. 如何连接到Google Cloud上的SQL数据库?
A. 连接到Google Cloud上的SQL数据库涉及使用Cloud SQL Proxy、Cloud SQL Auth Proxy或直接连接方法,确保从各种环境(包括本地机器和其他云服务)安全访问。
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485