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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
函数计算FC,每月免费额度15元,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
相关文章
|
6天前
|
存储 关系型数据库 MySQL
MySQL——数据库备份上传到阿里云OSS存储
MySQL——数据库备份上传到阿里云OSS存储
20 0
|
3天前
|
SQL 关系型数据库 数据库
数据库空间之谜:彻底解决RDS for SQL Server的空间难题
【8月更文挑战第16天】在管理阿里云RDS for SQL Server时,合理排查与解决空间问题是确保数据库性能稳定的关键。常见问题包括数据文件增长、日志文件膨胀及索引碎片累积。利用SQL Server的动态管理视图(DMV)可有效监测文件使用情况、日志空间及索引碎片化程度。例如,使用`sp_spaceused`检查文件使用量,`sys.dm_db_log_space_usage`监控日志空间,`sys.dm_db_index_physical_stats`识别索引碎片。同时,合理的备份策略和文件组设置也有助于优化空间使用,确保数据库高效运行。
10 2
|
5天前
|
关系型数据库 数据库 数据安全/隐私保护
"告别繁琐!Python大神揭秘:如何一键定制阿里云RDS备份策略,让数据安全与效率并肩飞,轻松玩转云端数据库!"
【8月更文挑战第14天】在云计算时代,数据库安全至关重要。阿里云RDS提供自动备份,但标准策略难以适应所有场景。传统手动备份灵活性差、管理成本高且恢复效率低。本文对比手动备份,介绍使用Python自定义阿里云RDS备份策略的方法,实现动态调整备份频率、集中管理和智能决策,提升备份效率与数据安全性。示例代码演示如何创建自动备份任务。通过自动化与智能化备份管理,支持企业数字化转型。
16 2
|
6天前
|
缓存 NoSQL Redis
一天五道Java面试题----第九天(简述MySQL中索引类型对数据库的性能的影响--------->缓存雪崩、缓存穿透、缓存击穿)
这篇文章是关于Java面试中可能会遇到的五个问题,包括MySQL索引类型及其对数据库性能的影响、Redis的RDB和AOF持久化机制、Redis的过期键删除策略、Redis的单线程模型为何高效,以及缓存雪崩、缓存穿透和缓存击穿的概念及其解决方案。
|
3天前
|
关系型数据库 MySQL 数据库
探究数据库开源协议:PostgreSQL vs MySQL
探究数据库开源协议:PostgreSQL vs MySQL
|
5天前
|
SQL 关系型数据库 MySQL
如何在 MySQL 或 MariaDB 中导入和导出数据库
如何在 MySQL 或 MariaDB 中导入和导出数据库
18 0
|
5天前
|
安全 关系型数据库 MySQL
如何在 MySQL 中导入和导出数据库以及重置 root 密码
如何在 MySQL 中导入和导出数据库以及重置 root 密码
14 0
|
5天前
|
SQL 数据可视化 关系型数据库
平时MySQL开发时,经常用到的小技巧
MySQL开发过程中常用的一些技巧,包括使用MD5函数、创建带逻辑删除标识和时间戳的表、多行合并为一行、时间差计算、不走索引的查询优化、多表连接更新等操作的SQL语句示例。
14 0
|
5天前
|
SQL Ubuntu 关系型数据库
如何在云服务器上创建和管理 MySQL 和 MariaDB 数据库
如何在云服务器上创建和管理 MySQL 和 MariaDB 数据库
8 0
|
5天前
|
SQL 关系型数据库 MySQL
MySql⭐一、配置MySql数据库,并创建一个表单
MySql⭐一、配置MySql数据库,并创建一个表单