利用RDS MySQL数据库云开发ToDo List

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
.cn 域名,1个 12个月
简介: 场景介绍基于云开发平台、Midway FaaS 和 云数据库RDS MySQL 版快速开发一个 Todo List。

简介

场景介绍基于云开发平台、Midway FaaS 和 云数据库RDS MySQL 版快速开发一个 Todo List。

背景知识

体验实验室
开发者通过场景化实验掌握云计算的what和how。免费云资源,真实云环境,丰富实践场景

地址:https://developer.aliyun.com/adc/labs/

什么是云开发平台?

云开发平台是阿里云所提供的一站式、全云端的开发平台,打开浏览器就可以开发、调试、上线。点击进入云开发平台。

什么是Midway FaaS?

一个用于构建 Node.js 云函数的 Serverless 框架,帮助开发者专注于产品开发,降低维护成本。

欢迎 Star! https://github.com/midwayjs/midway-faas

RDS数据库

阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。

创建应用

1.登录云开发平台。打开网址https://workbench.aliyun.com/,使用阿里云账号登录,按照提示创建团队,点击同意协议。没有阿里云账号的用户,在登录页面注册后进行登录即可。为了保证最好的使用体验,请使用Chrome浏览器。

2.创建应用。打开快速开始 https://workbench.aliyun.com/page/quickstart,点击创建新应用
在这里插入图片描述

3.云资源访问授权。如果您之前没有使用过云开发平台,会出现云资源授权管理的选项,往下拉出现直至同意授权的字样,点击「同意授权」后出现授权成功,点击进入「下一步」
在这里插入图片描述
同意授权并显示授权成功后点击下一步。
在这里插入图片描述
4.创建应用模板。分别选择开发语言NodeJS,通过模版创建。点击官方模版,选择Midway Serverless MySQL数据库示例应用模板,如图所示。
在这里插入图片描述
5.填写应用基本信息。按图示填写应用的名称和应用介绍、计算服务。没有产品可选点击旁边的自动创建产品线就会出现一个上海区域的产品了。信息填写完成后点击下一步。
在这里插入图片描述
6.云服务管理。查看应用依赖的云服务的开通情况,未开通的服务右键点击立即开通,在新标签打开所有服务开通页,根据提示一一开通。开通后应用卡片环境管理后面的小图标全部变成绿色的已开通对勾形状,才算完成应用的创建。
在这里插入图片描述

部署应用

上一节已经创建好了应用,本节介绍对应用进行开发部署流程。
1.进入开发。应用创建好以后会跳转到应用详情页,点击应用详情页上的 [开发部署] 进入CloudIDE开发界面。
在这里插入图片描述
2.安装依赖。点击 [终端],然后在终端输入框中输入以下命令 npm i 安装依赖。依赖包含的包比较多,全部下载需要一点时间,耐心等待即可,加载完毕后,可以看见以下图片中的提示。

npm i 

在这里插入图片描述
在这里插入图片描述
3.进行部署。点击CloudIDE中的 [部署tab栏],然后点击 [部署] 开始部署。
在这里插入图片描述
4.确认部署信息。在弹出框中弹出的是该应用默认配置的数据库信息,不需要进行配置。如果长期使用配置自己的数据库,可以按照后续 “数据库设置”一节进行操作。点击[继续部署] 进入部署阶段。
在这里插入图片描述
5.日常环境 部署成功。日常环境 部署成功后如下图所示,可以使用附件中标注的临时域名进行访问测试。
在这里插入图片描述
6.临时域名访问。复制生成的临时域名进行访问,可以进入Todo list web应用界面。如果个人应用需要发到线上,绑定个人线上域名继续在「线上环境」部署即可
在这里插入图片描述
Todolist web应用界面显示的待办事项都是存储在默认配置好的数据库的数据库表中,将在后续 “数据库设置”一节中进行说明。

下线应用

  1. 函数计算弹性实例相关的云资源有一定的免费额度,额度消耗完成后会按量付费。如果不需要保留应用,请及时操作下线,以免产生不必要的费用,在该应用管理页面点击下线即可。

在这里插入图片描述

数据库设置

前面的章节使用的是应用内提供的的免费默认数据库,数据库配置有两种方式,一种是在开发平台设置,另外一种是在CloudIDE中进行配置,下面将分别介绍 。

1.在云开发平台中设置。

a) 在应用详情中,点击 [开发部署] ,然后再次点击[应用配置]打开配置页面。

在应用开发中,通常要使用一些敏感的信息去进行数据相关的操作,比如数据库连接信息、鉴权相关信息等等。如果将这些信息直接 hardcode 写在代码里,会带来潜在的因为代码泄漏而造成敏感信息跟着被泄漏的风险。为了降低这种风险,云开发平台推荐使用「环境变量」的方式来代替 hardcode 的做法。
在这里插入图片描述
b)修改环境变量。因为本项目设置了默认的环境变量,所以可以看见已经创建好了的数据库连接信息,您可以在该界面将数据库连接信息修改为您自己的RDS数据库,或者可以根据您自己的需求来创建其他的环境变量。
在这里插入图片描述
默认环境变量说明:

MIDWAY_RDS_HOST RDS 数据库连接地址
MIDWAY_RDS_PORT RDS 数据库连接端口
MIDWAY_RDS_DBNAME RDS 数据库名称
MIDWAY_RDS_USERNAME RDS 数据库账户名称
MIDWAY_RDS_PASSWORD RDS 数据库账户密码

2.或者,你也可以直接在代码中更改数据库连接配置。

首先查看数据库配置文件。参考以下附件的路径查看数据库配置文件 config.default.ts 。该应用默认程序内配置了默认数据库信息,如果需要开发您自己的应用需要在该配置文件中配置您自己的数据库信息。
在这里插入图片描述
3.Todolist应用的待办事项全部都是从数据库中“todo” 表中读取的,默认的数据库已经创建好了该表。如果您已经将数据库连接信息更改为了您自己的数据库,那么您需要在数您自己的据库中执行以下创建表的语句,对应的创建表的语句为:

CREATE TABLE `todo` (

 `id` bigint(20) NOT NULL AUTO_INCREMENT,

 `todo` varchar(255) NOT NULL,

 `status` int(11) NOT NULL,

 `gmt_create` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

 PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
10天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
46 2
|
13天前
|
存储 关系型数据库 MySQL
MySQL vs. PostgreSQL:选择适合你的开源数据库
在众多开源数据库中,MySQL和PostgreSQL无疑是最受欢迎的两个。它们都有着强大的功能、广泛的社区支持和丰富的生态系统。然而,它们在设计理念、性能特点、功能特性等方面存在着显著的差异。本文将从这三个方面对MySQL和PostgreSQL进行比较,以帮助您选择更适合您需求的开源数据库。
54 4
|
18天前
|
存储 关系型数据库 MySQL
如何在MySQL中创建数据库?
【10月更文挑战第16天】如何在MySQL中创建数据库?
|
22天前
|
SQL Oracle 关系型数据库
安装最新 MySQL 8.0 数据库(教学用)
安装最新 MySQL 8.0 数据库(教学用)
96 4
|
21天前
|
存储 SQL 关系型数据库
【入门级教程】MySQL:从零开始的数据库之旅
本教程面向零基础用户,采用通俗易懂的语言和丰富的示例,帮助你快速掌握MySQL的基础知识和操作技巧。内容涵盖SQL语言基础(SELECT、INSERT、UPDATE、DELETE等常用语句)、使用索引提高查询效率、存储过程等。适合学生、开发者及数据库爱好者。
36 0
【入门级教程】MySQL:从零开始的数据库之旅
|
23天前
|
存储 关系型数据库 MySQL
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
18 2
|
8天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
41 0
|
9天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第26天】数据库作为现代应用系统的核心组件,其性能优化至关重要。本文主要探讨MySQL的索引策略与查询性能调优。通过合理创建索引(如B-Tree、复合索引)和优化查询语句(如使用EXPLAIN、优化分页查询),可以显著提升数据库的响应速度和稳定性。实践中还需定期审查慢查询日志,持续优化性能。
36 0
|
17天前
|
存储 监控 关系型数据库
MySQL并发控制与管理:优化数据库性能的关键
【10月更文挑战第17天】MySQL并发控制与管理:优化数据库性能的关键
74 0
|
17天前
|
存储 SQL 关系型数据库
MySQL Workbench支持哪些数据库引擎
【10月更文挑战第17天】MySQL Workbench支持哪些数据库引擎
13 0