上周由于园子后院起火,不得不调兵回去救火,出海记暂时停更,这周继续更新,“出海记”记录的是我们在 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. 市场清仓价格算法 python求矩阵不同行不同列元素和的最大值

    问题描述 求矩阵不同行不同列元素和的最大值(最小值) 问题求解 1.通过scipy库求解 scipy.optimize库中的linear_sum_assignment方法可以求解 输入一个矩阵,参数m ...

  2. CSS常见标签类型

      块级(block): div,ul,li,h1~h6,p 独自占据一行 可设置宽高 行内(inline): span,a 占据所设置字体大小 不可设置宽高 上下margin值不会占用空间 行内块( ...

  3. 面试不再慌,看完这篇保证让你写HashMap跟玩一样

    今天这篇文章给大家讲讲hashmap,这个号称是所有Java工程师都会的数据结构.为什么说是所有Java工程师都会呢,因为很简单,他们不会这个找不到工作.几乎所有面试都会问,基本上已经成了标配了. 在 ...

  4. 没事学学KVM(二)创建一台虚拟机

    首先通过VMware创建一台虚机,建议内存大于1G,并开启CPU 的inter vt-x功能,安装好对应的软件后,yum install -y qemu-kvm* virt-* libvirt* 准备 ...

  5. 给定 n 个字符串,求有多少字符串是其他字符串的前缀。

    1 #include <cstdio> 2 #include <set> 3 #include <iostream> 4 #include <cstring& ...

  6. socket 参考文档

    socket.io 中文手册,socket.io 中文文档转载于:http://www.cnblogs.com/xiezhengcai/p/3956401.html 服务端 io.on('connec ...

  7. java数据结构-11循环双端队列

    @SuppressWarnings("unchecked") public class CircleDeque<E> { private int front; priv ...

  8. 1. Spark Word Count

    1. request: 2. scala: sc.textFile("input").flatMap(_.split(" ")).map((_,1)).redu ...

  9. FloodFill算法详解及应用

    啥是 FloodFill 算法呢,最直接的一个应用就是「颜色填充」,就是 Windows 绘画本中那个小油漆桶的标志,可以把一块被圈起来的区域全部染色. 这种算法思想还在许多其他地方有应用.比如说扫雷 ...

  10. 什么是SPI

    一.什么是SPI SPI ,全称为 Service Provider Interface,是一种服务发现机制.它通过在ClassPath路径下的META-INF/services文件夹查找文件,自动加 ...