标签: amazon-ec2

Amazon RDS for MySQL 与在 Amazon EC2 实例上安装 MySQL

在工作中,我们将所有网络服务器托管在 Amazon EC2 上,并且通常使用与 Apache 网络服务器安装在同一台机器上的 MySQL 数据库,并在localhost. 我们现在需要将我们的数据库迁移到我们的系统之一的自己的服务器上。我有两种解决方案可供选择:使用Amazon RDS,或者只是启动一个新的Amazon EC2 机器并在其上安装 MySQL。

RDS 是与 EC2 同一家公司提供的专用数据库服务,似乎应该是更好的选择。但是,当我查看这两个选项的定价时(请参阅http://aws.amazon.com/ec2/pricinghttp://aws.amazon.com/rds/pricing),似乎 RDS 服务器的成本几乎对于具有相同规格的盒子,是 EC2 服务器的两倍。

鉴于我能够自己处理备份,并且 EC2 提供了与 RDS 所需的相同的扩展实例的能力,我完全看不出有任何理由使用 RDS 而不是 EC2。不过,似乎我可能遗漏了一些重要的东西,因为如果我是对的,那么没有人会使用 RDS。我到底缺少什么,与在 EC2 实例上安装自己的数据库相比,RDS 有哪些优势?

mysql amazon-ec2 amazon-rds

30
推荐指数
2
解决办法
2万
查看次数

Mongo为任何数据库以管理员身份创建用户引发错误

我正在尝试创建一个具有访问任何数据库的权限并且可以执行任何操作的简单用户。当我尝试执行createUser命令时,出现此错误:

db.createUser({ user: "mongoadmin" , pwd: "mongoadmin", roles: ["userAdminAnyDatabase", "dbAdminAnyDatabase", "readWriteAnyDatabase"]})
2015-08-20T17:09:42.300+0000 E QUERY    Error: couldn't add user: No role named userAdminAnyDatabase@new_vehicles_catalog
Run Code Online (Sandbox Code Playgroud)

仅当我启用身份验证配置并且需要它时才会发生上述问题。

那么,如何为任何数据库创建具有管理员权限的用户。我想要它,因为我将 mongo 服务配置为使用身份验证连接。如果我想执行数据的转储,我必须使用此身份验证参数。

请任何帮助?

使用mongo 版本 3.0.5

该服务基于Amazon Linux AMI 2015.03 (HVM),SSD 卷类型 - ami-1ecae776

mongodb authentication linux amazon-ec2

22
推荐指数
1
解决办法
11万
查看次数

Get WAL files from AWS RDS PostgreSQL instance

We have a Postgres RDS instance on Amazon Web Services. We have automatic backups enabled, and we take snapshots on a daily basis. We would like to generate a local 'up-to-date' backup of the RDS instance that we can manage ourselves. Running pg_dump against the instance is not sufficient because we want to be able to restore the database to any point in time. We would prefer to have a local backup of RDS and all WAL files since that …

postgresql amazon-ec2

21
推荐指数
1
解决办法
1万
查看次数

为什么将 RDS over EC2 用于 Postgres?

我有一个当前在 EC2 上运行的数据库。由于我必须将它移到更大的机器上,因此出现了使用 RDS 的问题。

价钱:

我可以按需获得带有两个 SSD(每个 16GB)、两个 vCPU 和 4GB 内存的EC2 c3.large实例,价格为每小时 0.132 美元[1]

最接近的(考虑价格)RDS机器db.m3.medium每小时 0.125 美元(单可用区)[2]。这台机器有相同数量的内存,但只有一个 vCPU [3]。此外,我将不得不为存储和 io [2]付费。

因此,这两个的价格将非常相似。

EC2 的优势:

  1. 如前所述,还有一个 vCPU。
  2. 使用 EC2 时,我可以将 Write-Ahead-Log 放在第二张磁盘上(向 db 写入大量内容时性能提升很大)。
  3. 我可以在我的 EC2 实例上运行pgbouncer(性能更高,因为我可以保持连接打开)。
  4. 我可以编辑配置文件(最终会提高性能)

RDS的优势:

  1. 自动进行每日备份。

RDS 能否覆盖 EC2 的优势(尤其是 2.)?还有其他优点吗?

postgresql aws amazon-ec2 amazon-rds

14
推荐指数
2
解决办法
1万
查看次数

db_owner 无法删除数据库 - 错误 615,SQL Server

我有一个在亚马逊 EC2 上运行的 SQL Server 2012 数据库。我创建了一个能够创建、编辑和删除数据库的用户。我为新用户提供了dbcreator服务器角色。

我的用户可以远程连接并成功运行create database foo;命令。但是当用户尝试再次使用drop database foo;该命令删除数据库时失败并出现以下错误:

Warning: Fatal error 615 occurred at Feb  1 2014  5:15PM.
   Note the error and time, and contact your system administrator.
ErrorCode: 21
Run Code Online (Sandbox Code Playgroud)

即使选定的数据库是master(所以我认为不是因为它正在使用中)。当我以管理用户身份再次登录时,该命令会成功。

我检查了新创建的数据库,并且我的用户已db_owner按照我的预期在数据库中分配了角色,所以我的理解是,这应该是该用户能够删除他们刚刚创建的数据库的足够权限。

在此处输入图片说明

根据http://technet.microsoft.com/en-us/library/ms178613.aspx,db_owner角色应该有足够的权限。“需要对数据库的 CONTROL 权限,或 ALTER ANY DATABASE 权限,或 db_owner 固定数据库角色的成员身份。”

我查找了错误 615 并发现“找不到数据库表 ID %d,名称为 '%.*ls'。” 这对我来说毫无意义。http://technet.microsoft.com/en-us/library/aa937592(v=sql.80).aspx

Sql 服务器版本信息:Microsoft SQL Server 2012 (SP1) - 11.0.3368.0 (X64) /n May 22 2013 17:10:44 …

sql-server permissions sql-server-2012 amazon-ec2

12
推荐指数
1
解决办法
1万
查看次数

从 AWS EC2 上的 Ubuntu 实例连接时出现“ORA-24454:未设置客户端主机名”

一些背景:我正在尝试连接到 Oracle 数据库。我有用户名、密码、IP 地址、端口和服务名称。我只能从 AWS 上的 Ubuntu EC2 实例访问此数据库,因为 Oracle 数据库位于另一个组织内部。因此,我无权访问这台机器的 DNS 主机名。

我从 Oracle 的网站下载了“Oracle Instant Client with SQL Plus”客户端包并将其解压缩到一个文件夹中。当我尝试运行它时,我收到以下消息:

ORA-24454: 未设置客户端主机名

oracle sqlplus ubuntu amazon-ec2

12
推荐指数
2
解决办法
3万
查看次数

MongoDB - 我应该将日志和数据分开到不同的驱动器吗?

我从多个来源看到和听到,将数据库日志和数据文件写入不同的磁盘可能是一个好主意,在性能方面。

推荐的方法是什么(例如在 EC2 上)?

  • 如果我们将数据文件写入 RAID(例如 EBS 驱动器),大多数人会将日志写入何处?
  • 我应该使用完全独立的(RAIDed)驱动器集吗
  • 我应该使用单个非 RAID 驱动器吗?
  • 我应该将数据和日志留在同一个 RAID 上吗?

performance mongodb amazon-ec2

7
推荐指数
2
解决办法
5168
查看次数

如何配置从 PostgreSQL (RDS) 到 vanilla PostgreSQL 的复制?

我有一个 Amazon RDS Postgres 数据库,我创建了一个“复制器”用户并授予它“复制”权限。

db=> create role replicator login password 'something';
CREATE ROLE
db=> alter role replicator replication;
ALTER ROLE
db=>
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试pg_basebackup从目标主机运行以创建副本时,出现 pg_hba.conf 错误:

# pg_basebackup -D /data/from-master -U replicator -h db-master.example.com -v
pg_basebackup: could not connect to server: FATAL:  no pg_hba.conf entry for replication connection from host "10.1.20.19", user "replicator", SSL on
FATAL:  no pg_hba.conf entry for replication connection from host "10.1.20.19", user "replicator", SSL off
Run Code Online (Sandbox Code Playgroud)

问题是,这是 RDS,我根本无法访问 pg_hba.conf。有任何想法吗?

postgresql replication aws amazon-ec2

6
推荐指数
1
解决办法
6411
查看次数

Amazon:如何更改 Amazon RDS MySQL 中的数据库名称?

我想更改Amazon RDS 的数据库实例的MYSQL 数据库名称。

怎么可能呢?

mysql linux amazon-ec2 amazon-rds

6
推荐指数
2
解决办法
1万
查看次数

推荐的镜像替代方案?

设置

  • 2 个 Amazon EC2 SQL 2014 服务器位于不同的可用区域。
  • 同步镜像
  • S3 用于在夜间归档完整备份和日志
  • 现在为简单起见,每晚完整压缩备份
  • 每 15 分钟记录一次 Tran 日志(如果可以减少运行时间,会做得更多)
  • Ola Hallengren 备份在主服务器和镜像服务器上运行

服务水平协议

我要满足的 SLA 条款在这一点上没有严格的限制(我知道很奇怪!):

  • “Opps Deleted Something”恢复会很不错,但我现在对此没有硬性交付要求。我现在每 15 分钟做一次日志备份。
  • 高可用性:不完全需要,如果需要,停机一小时是可以接受的
  • 时间点恢复:由于事务日志备份每 15 分钟一次,我能够提供一次,但是现在 2 小时是可以接受的。

网络瓶颈

看起来最大的瓶颈之一是大约 300mb 的网络管道,它似乎因需要同步镜像到另一个 EC2 实例而过载。我可以在同一个实例上维护更多的数据库,如果我删除镜像,可能会降低成本。

镜像或替代方法以获得具有合理可用性的性能

我正在寻找最佳价值,同时仍能提供合理的正常运行时间。由于我使用的是 SQL 标准,这意味着异步镜像不是一个选项(我们正在运行 sql 2014)。

当我评估了选项时,我很欣赏有关基本灾难恢复的另一种观点。镜像的开销似乎是一个很大的瓶颈,但如果我删除它,那么我会担心如何提供更好的可用性。理想情况下,我会异步运行镜像,但我们需要在 sql server 版本中向后移动,并且不确定这是否是最好的方法

始终在高可用性组上

由于此时复杂性和许可成本增加,因此不继续进行此操作。对未来的探索持开放态度,但目前希望避免企业许可成本。

sql-server mirroring disaster-recovery amazon-ec2 sql-server-2014

6
推荐指数
1
解决办法
1711
查看次数