阿里云ACA课程试验—掌握云数据库RDS与云存储OSS

数据库上云迁移的实现

注:以下演示以阿里云数据库RDS和云存储OSS操作为例;没有服务器的同学,可以参加阿里云高校计划,每天8点免费领取ECS服务器。
活动链接:
https://developer.aliyun.com/adc/college/

通过数据传输服务,将ECS上自建MySQL数据库迁移到RDS数据库。

一、查询源数据库
  1. 远程登录到MySQL源数据库 ECS实例。
  2. 运行如下命令,登录到ECS实例的MySQL数据库:
mysql -u root -p

  1. 查看源数据库bakery、其中的表customer和product,以及表中的数据。

1)执行如下命令,查看数据库信息。

mysql> show databases;

2)执行如下命令,切换数据库为bakery:

mysql> use bakery;

3)执行如下命令,查看表中数据:

mysql> show columns from customer;

mysql> show columns from product;

mysql> select * from customer;

mysql> select * from product;

二、建立目标数据库
  1. 登录到阿里云RDS管理控制台

  2. 进入云数据库RDS实例 的管理控制台

  1. 创建数据库账号

  1. 创建数据库

1)点击左侧栏的 数据库管理 ,进入数据库管理页面。

2)在右侧的 数据库管理 页面,点击右侧的 创建数据库 ,进入创建页面。

三、数据库迁移
  1. 进入数据迁移管理页面:

1)点击页面右上角的 导入数据库 。进入 数据迁移服务 的管理页面。

​ 2)点击左侧栏 数据迁移 ,进入数据迁移的管理页面。

​ 3)点击 数据迁移 右上角的 创建迁移任务

  1. 完成 源库信息 的配置信息和 目标库信息 的配置信息后,授权白名单并进入下一步 。

  2. 配置迁移任务的 迁移类型及列表:

  1. 完成预检查后购买迁移任务的配置

四、查阅迁移结果
  1. 进入RDS管理控制台。在实例列表界面中,点击右上角的登录数据库,进入数据库登录界面。

  1. 填写登录信息后进入数据库管理页面,验证数据库是否迁移成功

上传图片至OSS云存储

一、查看图片分享网站
  1. 远程登录到ECS服务器

  2. 进入网站系统的根目录

# cd /alidata/www/default 
  1. 查看图片
# ls

  1. 查看网站首页的源码
cat index.html

二、上传图片文件
  1. 在ECS实例的 /alidata/www/default 目录中,执行如下命令,进入 cfg.json 的编辑页面,并修改OSS的配置信息。
# vim cfg.json
  • idAK ID 值;
  • secretAK Secret
  • endpoint地域 相对应的 外网Endpoint 。例如:分配的 地域为 华东1(杭州),则输入 oss-cn-hangzhou.aliyuncs.com
  • bucketOSS资源 Bucket 名称
  • object_dirOSS资源 Object路径
  1. 上传图片
python oss_upload.py 01.png

三、使用OSS存储图片分享网站

1.进入alidata/www/default目录

# cd /alidata/www/default

2.删除当前目录中的所有“.png”文件并查看是否删除干净

# rm -rf *.png
# ls

3.打开ECS 外网地址

4.进入OSS管理控制台,复制四张图片的URL地址

5.返回ECS服务器的**/alidata/www/default**目录下,并进入服务器访问首页 index.html 的编辑界面

# cd /alidata/www/default
# vim index.html

6.替换图片链接为复制的URL地址

7.刷新 ECS实例的 外网地址

![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9hZTAxLmFsaWNkbi5jb20va2YvSGVjNDk5OWI2ZmYyNTRkYTNiZTEzY2EzMjE4ZGQ0MjhmNy5qcGc?x-oss-process=image/format,png)

使用云存储OSS的API上传和下载和删除文件

使用OSS Python SDK 调用 OSS API,将用户本地的小文件上传到OSS云存储Object路径中。

一、调用OSS API上传文件

1.远程登录到ECS服务器

2.配置AccessKeyID, AccessKeySecret 和 Endpoint 信息

cd aliyun-lab
vim configure.json

configure.json 文件用于提供调用 OSS API 时所需的公共参数。

  • idAK ID 值;
  • secretAK Secret
  • endpoint地域 相对应的 外网Endpoint 。例如:分配的 地域为 华东1(杭州),则输入 oss-cn-hangzhou.aliyuncs.com

3.在 aliyun-lab 路径下,执行命令

vim object_upload.py

通过调用 OSS API,上传本地文件 (__file_name:本地文件路径) 到 bucket 中,并重命名 object (__object_name:Bucket中Object名称) 。在代码的 #调用OSS API的put_object()上传文件 下方,添加如下的代码,

with open(__file_name,'rb') as fileobj:

             bucket.put_object(__object_name, fileobj)

4.执行如下命令,运行脚本程序。将本地文件 lab.txt 上传到本实验分配 OSS bucket 的 Object 路径下,并重命名为 lab_object.txt

python object_upload.py <oss bucket名称> lab.txt <oss object路径>/lab_object.txt

5.输入命令 cat lab.txt ,查看上传到OSS指定路径的文件内容:Hello first object!

6.至此,文件上传成功。

二、调用OSS API下载文件

1.在 ECS 的 aliyun-lab 目录下,执行命令 vim object_download.py ,修改脚本文件 object_download.py 。通过调用 OSS API,下载 OSS的 bucket 中名称为 __object_name 的 object 到本地,并重命名为 __local_name 。在代码的 #调用OSS API的get_object_to_file()下载object 下方。

bucket.get_object_to_file(__object_name, __local_name)

2.执行如下命令,将 OSS 存储的文件 lab_object.txt 下载到本地,并重命名为 lab_local.txt 。下载成功后,执行命令 ls ,列出当前目录下所有的文件,可以看到文件lab_local.txt 已经保存在当前目录下。请注意替换 <oss bucket 名称><oss object路径>实验资源 提供的信息。

python object_download.py <oss bucket 名称> <oss object路径>/lab_object.txt lab_local.txt

3.执行命令 cat lab_local.txt 和 cat lab.txt ,分别查看原文件与下载后的文件,对比两个文件中的内容,可以发现两个文件中的内容一致,证明 object 下载并成功保存到本地。

三、调用OSS API删除Object

1.在ECS服务器访问终端界面,然后,执行 vim object_delete.py ,修改脚本文件 object_delete.py 。此脚本通过调用 OSS API ,删除 OSS Bucket 中的 object。在代码的 #调用OSS API batch_delete_objects(),批量删除objects 下方。添加如下的代码,完成修改后,保存脚本。

result = bucket.batch_delete_objects([__object_name])

  1. 执行命令 python object_delete.py <Bucket 名称> <Object路径>/lab_object.txt 。删除 bucket 中的指定路径的 object 。

,保存脚本。

result = bucket.batch_delete_objects([__object_name])

[外链图片转存中…(img-ke8LxrWa-1593021032036)]

  1. 执行命令 python object_delete.py <Bucket 名称> <Object路径>/lab_object.txt 。删除 bucket 中的指定路径的 object 。

[外链图片转存中…(img-tgF1xNGN-1593021032039)]

3.至此,完成object的删除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
性感学长,造福学弟~一下是题干,答案在文件里。 基于MySQL,设计并实现一个简单的旅行预订系统。该系统涉及的信息有航班、大巴班车、宾馆房间和客户数据等信息。其关系模式如下: FLIGHTS (String flightNum, int price, int numSeats, int numAvail, String FromCity, String ArivCity); HOTELS(String location, int price, int numRooms, int numAvail); BUS(String location, int price, int numBus, int numAvail); CUSTOMERS(String custName,custID); RESERVATION S(String custName, int resvType, String resvKey) 为简单起见,对所实现的应用系统作下列假设: 1. 在给定的一个班机上,所有的座位价格也一样;flightNum是表FLIGHTS的一个主码(primary key)。 2. 在同一个地方的所有的宾馆房间价格也一样;location是表HOTELS的一个主码。 3. 在同一个地方的所有大巴车价格一样;location是表 BUS的一个主码。 4. custName是表CUSTOMERS的一个主码。 5. 表RESERVATIONS包含着那些和客户预订的航班、大巴车或宾馆房间相应的条目,具体的说,resvType指出预订的类型(1为预订航班,2为预订宾馆房间,3为预订大巴车),而resvKey是表RESERVATIONS的一个主码。 6. 在表FLIGHTS中,numAvail表示指定航班上的还可以被预订的座位数。对于一个给定的航班(flightNum),数据库一致性的条件之一是,表RESERVATIONS中所有预订该航班的条目数加上该航班的剩余座位数必须等于该航班上总的座位数。这个条件对于表BUS和表HOTELS同样适用。 应用系统应完成如下基本功能: 1. 航班,大巴车,宾馆房间和客户基础数据的入库,更新(表中的属性也可以根据你的需要添加)。 2. 预定航班,大巴车,宾馆房间。 3. 查询航班,大巴车,宾馆房间,客户和预订信息。 4. 查询某个客户的旅行线路。 5. 检查预定线路的完整性。 6. 其他任意你愿意加上的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值