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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 场景介绍基于云开发平台、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
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
关系型数据库 MySQL 数据库连接
数据库连接工具连接mysql提示:“Host ‘172.23.0.1‘ is not allowed to connect to this MySQL server“
docker-compose部署mysql8服务后,连接时提示不允许连接问题解决
|
20天前
|
关系型数据库 MySQL 数据库
Docker Compose V2 安装常用数据库MySQL+Mongo
以上内容涵盖了使用 Docker Compose 安装和管理 MySQL 和 MongoDB 的详细步骤,希望对您有所帮助。
117 42
|
11天前
|
关系型数据库 MySQL 网络安全
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
65 25
|
6天前
|
SQL 关系型数据库 MySQL
数据库数据恢复——MySQL简介和数据恢复案例
MySQL数据库数据恢复环境&故障: 本地服务器,安装的windows server操作系统。 操作系统上部署MySQL单实例,引擎类型为innodb,表空间类型为独立表空间。该MySQL数据库没有备份,未开启binlog。 人为误操作,在用Delete命令删除数据时未添加where子句进行筛选导致全表数据被删除,删除后未对该表进行任何操作。
|
1月前
|
关系型数据库 OLAP 分布式数据库
瑶池数据库微课堂|PolarDB/RDS+ADB Zero-ETL:一种免费、易用、高效的数据同步方式
瑶池数据库微课堂介绍阿里云PolarDB/RDS与ADB的Zero-ETL功能,实现免费、易用、高效的数据同步。内容涵盖OLTP与OLAP的区别、传统ETL存在的问题及Zero-ETL的优势(零成本、高效同步),并演示了从RDS MySQL到AnalyticDB MySQL的具体操作步骤。未来将优化和迭代此功能,提供更好的用户体验。
|
1月前
|
运维 关系型数据库 MySQL
体验领礼啦!体验自建数据库迁移到阿里云数据库RDS,领取桌面置物架!
「技术解决方案【Cloud Up 挑战赛】」上线!本方案介绍如何将自建数据库平滑迁移至云数据库RDS,解决业务增长带来的运维难题。通过使用RDS MySQL,您可获得稳定、可靠和安全的企业级数据库服务,专注于核心业务发展。完成任务即可领取桌面置物架,每个工作日限量50个,先到先得。
|
1月前
|
缓存 关系型数据库 MySQL
【深入了解MySQL】优化查询性能与数据库设计的深度总结
本文详细介绍了MySQL查询优化和数据库设计技巧,涵盖基础优化、高级技巧及性能监控。
352 0
|
2月前
|
存储 Oracle 关系型数据库
数据库传奇:MySQL创世之父的两千金My、Maria
《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
80 3
|
2月前
|
安全 关系型数据库 MySQL
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
148 3
|
2月前
|
SQL 关系型数据库 MySQL
数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog
《数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog》介绍了如何利用MySQL的二进制日志(Binlog)恢复误删除的数据。主要内容包括: 1. **启用二进制日志**:在`my.cnf`中配置`log-bin`并重启MySQL服务。 2. **查看二进制日志文件**:使用`SHOW VARIABLES LIKE 'log_%';`和`SHOW MASTER STATUS;`命令获取当前日志文件及位置。 3. **创建数据备份**:确保在恢复前已有备份,以防意外。 4. **导出二进制日志为SQL语句**:使用`mysqlbinlog`
126 2