上周由于园子后院起火,不得不调兵回去救火,出海记暂时停更,这周继续更新,“出海记”记录的是我们在 AWS 上建设博客园海外站的历程。

在这一记中记录的是我们基于 AWS 免费套餐(Free Tier)创建一个 Amazon RDS for SQL Server 实例,这也是我们第一次使用 AWS RDS,之前只用过阿里云 RDS。

首先进入 AWS RDS 控制台,AWS 在控制台推荐了他们自主研发的云数据库 Amazon Aurora,但我们目前只能用 SQL Server,忽略此推荐,在控制台“创建数据库”卡片中点击创建数据库

进入创建数据库的界面,这是一个长长的“菜单”,有很多食品可供选择,但我们囊中羞涩,只能点免费套餐中的食品。

  • “数据库创建方法”选择标准创建

  • “引擎选项”-“引擎类型”选择Microsoft SQL Server
  • “引擎选项”-“版本”选择SQL Server Express Edition(注:免费套餐只能选择这个版本),版本号选SQL Server 2017 14.00.3294.2.v1
  • “模板”选免费套餐(注:模板中出现免费套餐的选项,说明这个规格的实例支撑免费套餐)。
  • 在“设置”-“数据库实例标识符”中输入实例名称(支持连字符,不支持下划线),这里输入optcode-db(注:optcode是博客园海外站的暂用域名)
  • 在“设置”-“凭证设置”-“主用户名”中输入数据库账户用户名(支持下划线,不支持连字符),然后输入密码
  • “数据库实例大小”真能选小份(db.t2.micro),这是免费套餐仅能享用的规格。
  • 在“存储”部分,“存储类型”选默认的通用型(SSD),“分配的存储空间”选默认的20GiB(这也是免费套餐支持的最大存储空间),去选启用存储自动扩展以免产生额外的费用

  • “连接”就用默认的VPC
  • “Microsoft SQL Server Windows 身份验证”就用默认的不启用
  • “其他配置”就用默认值。
  • 确认一下“月度估算费用”中是否免费套餐

最后,点击“创建数据库”按钮下单。

这时控制台会提示:

正在创建数据库 optcode-db。

您的数据库可能需要几分钟时间才能启动。

等了10分钟左右,数据库创建好了。

AWS 没有提供 SQL Server 的 web 管理控制台,需要通过微软提供的 SQL Server 客户端管理工具 SQL Server Management Studio 或者 mssql-cli 管理数据库,这里我们选择命令行工具 mssql-cli 。

用免费套餐创建1台 Ubuntu 18.04 EC2 服务器用于安装 mssql-cli ,参考 云计算之路-出海记:整一台 AWS 免费云服务器

安装 mssql-cli

curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
sudo apt-add-repository https://packages.microsoft.com/ubuntu/18.04/prod
sudo apt-get update
sudo apt-get install mssql-cli
sudo apt-get install -f

安装后之后用 mssql-cli 命令连接 RDS for SQL Server

mssql-cli -S optcode-db.cddc6wiequiq.us-west-1.rds.amazonaws.com

报错

Error message: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 40 - Could not open a connection to SQL Server)

出现上面的错误是由于运行 mssql-cli 命令的 EC2 服务器与 RDS 实例不在同一个安全组。

进入 EC2 控制台选中对应的实例,点击“操作”->“安全”->“更改安全组”,将这台服务器加入到 RDS 实例所在的安全组,就能成功连接了。

mssql-cli 连接上 RDS 实例之后,看一下实例中当前有哪些数据库?

master> \ld
Time: 0.453s
+----------+
| name |
|----------|
| master |
| tempdb |
| model |
| msdb |
| rdsadmin |
+----------+
(5 rows affected)

接下来为海外站博客系统创建一个空数据库 optcode_blog

master> CREATE DATABASE optcode_blog

最后导入博客系统数据库结构的创建脚本

$ mssql-cli -S xxx -U yyy -P 'zzz' -d optcode_blog -i optcode_blog.sql
Commands completed successfully.

AWS 巨轮上存放数据的免费仓库就这样建好了,这一记就记到这里了。

optcode_blog> \lt
Time: 0.454s
+----------------+-------------------------------+
| table_schema | table_name |
|----------------+-------------------------------|
| dbo | blog_Images |
...

云计算之路-出海记:建一个免费仓库 Amazon RDS for SQL Server的更多相关文章

  1. 云计算之路-出海记:蹭一张 aws 船票

    出海记开篇之后,在 aws 上搭建博客园海外站的出海计划今天开始迈出第一步 -- 注册一个 aws 海外区域账号. aws 现在针对新注册用户提供12个月免费套餐(正在园子里推广并提供了专属注册通道) ...

  2. 云计算之路-出海记:整一台 aws 免费云服务器

    上次蹭到一张船票,登上了 aws 这艘巨轮,今天要在船上的免费餐厅吃一顿免费晚餐 -- 整一台 aws 免费套餐中的 EC2 服务器体验一下. 进入 EC2 控制台,点击"启动实例" ...

  3. 云计算之路-出海记:命令行下的 AWS

    俗话说"三百六十行,行行出状元",自从有了电脑之后,三百六十行又多了一行 -- 命令行.GUI 的诞生开创了繁荣的 PC "窗口"(windows)时代,互联网 ...

  4. 云计算之路-出海记-小目标:Hello World from .NET 5.0 on AWS

    品尝过船上的免费晚餐,眺望着 aws 上搭建博客园海外站的宏伟目标,琢磨着眼前可以实现的小目标,不由自主地在屏幕上敲出了 -- "Hello World!",就从这个最简单朴实的小 ...

  5. 微软推出的免费新书《Introducing Microsoft SQL Server 2012》

    微软推出的免费新书<Introducing Microsoft SQL Server 2012>,该书详细介绍微软SQL 2012数据库服务最新功能以及功能应用和使用技巧. 该书适合SQL ...

  6. 【netcore入坑记】 .Net core UseRowNumberForPaging 分页报错 SQL Server 2008 R2 EntityFrameworkCore

    异常环境: netcore版本:.Net Core 2.1 efcore版本:Microsoft.EntityFrameworkCore.SqlServer 2.1.1 sql sqlserver 版 ...

  7. 云计算之路-阿里云上:数据库连接数过万的真相,从阿里云RDS到微软.NET Core

    在昨天的博文中,我们坚持认为数据库连接数过万是阿里云RDS的问题,但后来阿里云提供了当时的数据库连接情况,让我们动摇了自己的想法. 帐户 连接数 A 4077 B 3995 C 741 D 698 E ...

  8. 云计算之路-阿里云上:踩着RDS的2个坑

    最近发现阿里云RDS管理控制台升级了,界面更好看了,操作也更方便了,但在美丽的外表下却藏着坑,不小心被我们睬着了. 8月31日下午,我们在RDS管理控制台中创建了一个新的数据库帐号,创建时选择了绑定多 ...

  9. SQL Server 字段类型 decimal(18,6)小数点前是几位?记一次数据库SP的BUG处理

    原文:SQL Server 字段类型 decimal(18,6)小数点前是几位?记一次数据库SP的BUG处理 SQL Server 字段类型 decimal(18,6)小数点前是几位? 不可否认,这是 ...

随机推荐

  1. tomcat在eclipse里部署

    先下载安装包,解压缩,运行安装文件(端口:8080,下一步 指定jdk安装路径,记住tomcat的安装位置) 安装程序的位置               和            安装后的位置不一样 ...

  2. springboot集成spring security(一)

    一,添加pom依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId& ...

  3. 论文解读《Deep Plug-and-Play Super-Resolution for Arbitrary Blur Kernel》

    Deep Plug-and-Play Super-Resolution for Arbitrary Blur Kernels: 一旦退化模型被定义,下一步就是使用公式表示能量函数(energy fun ...

  4. 在CentOS 8 上 部署 .Net Core 应用程序

    在Centos 8 上 部署 .Net Core 应用程序     -- 记录篇 1.更新dnf 源 1 dnf update 2.安装 Asp.Net Core 运行时 1 dnf install ...

  5. ATOM基础教程一使用前端插件emmet(16)

    emmet简介 http://blog.csdn.net/zsl10/article/details/51956791 emmet的前身是Zen coding,从事Web前端开发的工程师对该插件并不陌 ...

  6. SQL注入的一些学习

    -------------------------------------- 这是我之前发布到的其他的一个网址,这里的话我重新总结 可能分很多,我也不是很清楚,只是皮毛的研究了一下 1,sql按数据库 ...

  7. CodeForces 1327F AND Segments

    题意 给三个整数 \(n,k,m\) 和 \(m\) 个限制 \((l_i,r_i,x_i)\),求有多少个长度为 \(n\) 的序列 \(a\) 满足: 对于 \(1\leq i\leq n\) 有 ...

  8. sqlsugar入门(2)-C#方法与sugar自定义函数的区别

    1.使用tostring获取当天数据 var list = ssc.Queryable<Student>().Where(o => o.CreateTime.Value.ToStri ...

  9. TypeScript魔法堂:函数类型声明其实很复杂

    前言 江湖有传"动态类型一时爽,代码重构火葬场",由于动态类型语言在开发时不受数据类型的约束,因此非常适合在项目原型阶段和初期进行快速迭代开发使用,这意味着项目未来将通过重写而非重 ...

  10. 使用MQTT协议的4G DTU模块具有什么优势

    什么是MQTT协议 要了解使用MQTT协议的4G DTU模块具有哪些优势,首先我们需要了解什么是MQTT协议,MQTT协议最早是IBM开发的一个即时通讯协议,它的主要是为大量计算能力有限且工作在低带宽 ...