在工作中,我们将所有网络服务器托管在 Amazon EC2 上,并且通常使用与 Apache 网络服务器安装在同一台机器上的 MySQL 数据库,并在localhost. 我们现在需要将我们的数据库迁移到我们的系统之一的自己的服务器上。我有两种解决方案可供选择:使用Amazon RDS,或者只是启动一个新的Amazon EC2 机器并在其上安装 MySQL。
RDS 是与 EC2 同一家公司提供的专用数据库服务,似乎应该是更好的选择。但是,当我查看这两个选项的定价时(请参阅http://aws.amazon.com/ec2/pricing和http://aws.amazon.com/rds/pricing),似乎 RDS 服务器的成本几乎对于具有相同规格的盒子,是 EC2 服务器的两倍。
鉴于我能够自己处理备份,并且 EC2 提供了与 RDS 所需的相同的扩展实例的能力,我完全看不出有任何理由使用 RDS 而不是 EC2。不过,似乎我可能遗漏了一些重要的东西,因为如果我是对的,那么没有人会使用 RDS。我到底缺少什么,与在 EC2 实例上安装自己的数据库相比,RDS 有哪些优势?
我正在尝试创建一个具有访问任何数据库的权限并且可以执行任何操作的简单用户。当我尝试执行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
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 …
我有一个当前在 EC2 上运行的数据库。由于我必须将它移到更大的机器上,因此出现了使用 RDS 的问题。
价钱:
我可以按需获得带有两个 SSD(每个 16GB)、两个 vCPU 和 4GB 内存的EC2 c3.large实例,价格为每小时 0.132 美元[1]。
最接近的(考虑价格)RDS机器db.m3.medium每小时 0.125 美元(单可用区)[2]。这台机器有相同数量的内存,但只有一个 vCPU [3]。此外,我将不得不为存储和 io [2]付费。
因此,这两个的价格将非常相似。
EC2 的优势:
RDS的优势:
RDS 能否覆盖 EC2 的优势(尤其是 2.)?还有其他优点吗?
我有一个在亚马逊 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 …
一些背景:我正在尝试连接到 Oracle 数据库。我有用户名、密码、IP 地址、端口和服务名称。我只能从 AWS 上的 Ubuntu EC2 实例访问此数据库,因为 Oracle 数据库位于另一个组织内部。因此,我无权访问这台机器的 DNS 主机名。
我从 Oracle 的网站下载了“Oracle Instant Client with SQL Plus”客户端包并将其解压缩到一个文件夹中。当我尝试运行它时,我收到以下消息:
ORA-24454: 未设置客户端主机名
我从多个来源看到和听到,将数据库日志和数据文件写入不同的磁盘可能是一个好主意,在性能方面。
推荐的方法是什么(例如在 EC2 上)?
我有一个 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。有任何想法吗?
我想更改Amazon RDS 的数据库实例的MYSQL 数据库名称。
怎么可能呢?
设置
服务水平协议
我要满足的 SLA 条款在这一点上没有严格的限制(我知道很奇怪!):
网络瓶颈
看起来最大的瓶颈之一是大约 300mb 的网络管道,它似乎因需要同步镜像到另一个 EC2 实例而过载。我可以在同一个实例上维护更多的数据库,如果我删除镜像,可能会降低成本。
镜像或替代方法以获得具有合理可用性的性能
我正在寻找最佳价值,同时仍能提供合理的正常运行时间。由于我使用的是 SQL 标准,这意味着异步镜像不是一个选项(我们正在运行 sql 2014)。
当我评估了选项时,我很欣赏有关基本灾难恢复的另一种观点。镜像的开销似乎是一个很大的瓶颈,但如果我删除它,那么我会担心如何提供更好的可用性。理想情况下,我会异步运行镜像,但我们需要在 sql server 版本中向后移动,并且不确定这是否是最好的方法
始终在高可用性组上
由于此时复杂性和许可成本增加,因此不继续进行此操作。对未来的探索持开放态度,但目前希望避免企业许可成本。
sql-server mirroring disaster-recovery amazon-ec2 sql-server-2014
amazon-ec2 ×10
amazon-rds ×3
postgresql ×3
aws ×2
linux ×2
mongodb ×2
mysql ×2
sql-server ×2
mirroring ×1
oracle ×1
performance ×1
permissions ×1
replication ×1
sqlplus ×1
ubuntu ×1