在修改using 的参数“ lower_case_table_names = 1”时,我收到此错误:rdsboto
不能对静态参数使用立即应用方法
是否可以从快照映像创建新数据库而不迁移它?我有一个 mysql db 的快照,我想暂时托管它以取回一些条目。我似乎只能选择恢复它或将它迁移到不同版本的 sql。
我是 Terraform 的新手。我正在使用 Terraform 编写 AWS 脚本。执行Terraform Destroy时出现错误。Terraform 脚本是
resource "aws_rds_cluster" "aurora-cluster-ci" {
cluster_identifier = "aurora-cluster-ci"
engine = "aurora-mysql"
availability_zones = ["us-east-1a", "us-east-1b", "us-east-1c"]
database_name = "${var.rds_dbname}"
master_username = "${var.rds_username}"
master_password = "${var.rds_password}"
backup_retention_period = 5
engine_version = "5.7.16"
preferred_backup_window = "07:00-09:00"
apply_immediately = true
final_snapshot_identifier = "ci-aurora-cluster-backup"
skip_final_snapshot = true
}
Run Code Online (Sandbox Code Playgroud)
Terraform Destroy抛出错误“aws_rds_cluster.aurora-cluster-ci:需要最终快照时需要 RDS Cluster FinalSnapshotIdentifier”
我的脚本中有“final_snapshot_identifier”键。
amazon-web-services amazon-rds terraform terraform-provider-aws
我正在使用 Spring 2.x、Hibernate 5.x、Spring Data REST、Mysql 5.7 构建多租户 REST 服务器应用程序。\nSpring 2.x 使用 Hikari 进行连接池。
\n\n我将使用每个租户的数据库方法,因此每个租户都将拥有自己的数据库。
\n\n我以这种方式创建了我的 MultiTenantConnectionProvider:
\n\n@Component\n@Profile("prod")\npublic class MultiTenantConnectionProviderImpl implements MultiTenantConnectionProvider {\n private static final long serialVersionUID = 3193007611085791247L;\n private Logger log = LogManager.getLogger();\n\n private Map<String, HikariDataSource> dataSourceMap = new ConcurrentHashMap<String, HikariDataSource>();\n\n @Autowired\n private TenantRestClient tenantRestClient;\n\n @Autowired\n private PasswordEncrypt passwordEncrypt;\n\n @Override\n public void releaseAnyConnection(Connection connection) throws SQLException {\n connection.close();\n }\n\n @Override\n public Connection getAnyConnection() throws SQLException {\n Connection connection = getDataSource(TenantIdResolver.TENANT_DEFAULT).getConnection();\n return connection;\n\n }\n\n …Run Code Online (Sandbox Code Playgroud) 我想在我们的 RDS 实例之一上设置增强监控。但我无法计算每个月将产生的成本。
我查看了https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html 上的 aws 文档,它说这取决于几个因素,其中之一是最高 5gb 的免费日志每月免费套餐(免费套餐仅适用于最初的一年,如果我是对的,这些 5GB 将不适用于较旧的 aws 帐户)。Rest 3 似乎又与写日志有关。
请帮助我如何计算仅由于在 AWS RDS 实例上启用增强监控而产生的成本。
——朱奈德。
我已经使用数据库删除保护功能创建了数据库。当我删除时,我收到此错误
为了能够删除数据库,请修改数据库并禁用删除保护。
我不知道我应该准确修改哪个表
自回答此问题以来,AWS Tools for Powershell已经发布,我基本上遇到了同样的问题:我在一个AWS账户上有一个RDS快照,我希望将其转移到另一个账户.
到目前为止,我已经能够使用Get-RDSDBSnapshotcmdlet 选择我想要的快照,并且我想要获取该Amazon.RDS.Model.DBSnapshot对象并在其他帐户中使用它.
我一直在环顾四周,我认为Restore-RDSDBInstanceFromDBSnapshotcmdlet(映射到rds-restore-db-instance-from-db-snapshot)可能是我正在寻找的,但我不相信我理解它的行为 -是否可以使用此cmdlet从我的第一个帐户获取快照,并将其还原到第二个帐户中的实例?
我特别关注Snapshot对象中是否存在任何特定于帐户的详细信息,或者是否会阻止该数据跨帐户移动的cmdlet的处理.如果存在一个问题,我会使用比PowerShell更通用的解决方案.
无论如何从快照恢复Amazon RDS实例但跳过在它结束后立即发生的备份步骤?
使用最新的Aurora更新(1.8),LOAD DATA FROM S3引入了该命令.有没有人得到这个工作?升级到1.8之后,我按照设置指南在此处创建角色以允许从RDS访问S3.
重新启动服务器并尝试运行命令后
LOAD DATA FROM S3 PREFIX 's3://<bucket_name>/prefix' INTO TABLE table_name
Run Code Online (Sandbox Code Playgroud)
在SQL Workbench/J中,我得到错误:
Warnings:
S3 API returned error: Missing Credentials: Cannot instantiate S3 Client
S3 API returned error: Failed to instantiate S3 Client
Internal error: Unable to initialize S3Stream
Run Code Online (Sandbox Code Playgroud)
是否还需要其他步骤?我可以只从SDK运行吗?我没有在文件中的任何地方看到这一点
amazon-s3 amazon-web-services amazon-rds amazon-aurora aws-rds
问题概述 我们的AWS RDS实例在大约7-14天后开始减速,这是一个相当大的因素(特定查询集的加载时间约为400%).RDS监测没有显示出资源短缺的迹象.(有关详细问题说明,请参阅下面的问题更新)
因此,经过一个多月的调查和AWS的一些开发人员支持,我并不完全接近解决方案.
以下是我检查列表的几个步骤,或多或少没有任何进一步的问题提示:
为了解释,使用过的PlayFramework(2.3.8)有BoneCP,我们使用eBeans来选择我们的数据.所以基本上我正在运行一个嵌套对象和所有这些子对象,这为所讨论的API调用产生了几百个准备好的SELECT.对于使用过的硬件,这基本上也应该没问题,这些操作都不会广泛使用CPU和RAM.
我还包括NewRelic以获得有关此问题的更多见解,并进行了一些JVM概要分析.显然,大部分时间都是由NETTY/eBeans消耗的?

有人能理解这个吗?
原始问题:问题大纲
我们的AWS RDS实例在大约7-14天后开始放慢一个相当大的因素(特定查询集的加载时间约为400%).RDS监测没有显示出资源短缺的迹象.
基础设施
我们为AWS EC2实例上的移动应用程序运行PlayFramework后端,连接到AWS RDS MySQL实例,一个PROD环境,一个DEV环境.通常PROD EC2实例指向PROD RDS实例,而DEV EC2指向DEV RDS(来自队长的嗨明显!); 但有时我们也会让DEV EC2指向PROD DB进行某些测试.正在使用的PlayFramework正在与BoneCP合作.
详细问题描述
在一个非常重要的同步过程中,我们的应用程序每个用户每天多次进行一次API调用.我在这个SO问题中讨论了功能的背景,感谢评论,我可以将问题归结为某种类型的MySQL问题.
简而言之,API调用正在加载一组数据,最大约为1MB的json数据,目前大约需要18s才能加载.当事情运行得非常好时,这需要大约4秒才能加载.
很奇怪,上次"解决"问题的是将RDS实例升级到另一个实例类型(从db.m3.large到db.m4.large,这只是一个非常小的步骤).现在,大约2-3周后,RDS实例再次像以前一样缓慢运行.重新启动RDS实例显示无效.同样重新启动EC2实例也没有效果.
我还检查了受影响的mySQL表的索引是否设置正确,情况就是这样.API调用本身不是急于加载任何BLOB字段或类似的,我仔细检查了这一点.在大多数情况下,RDS实例的CPU使用率低于1%,当我用100个同时API调用对其进行压力测试时,它达到了约5%,因此这不是瓶颈.内存也很好,所以我猜RDS实例没有开始交换,这可能会减慢整个过程.
提供确凿的证据,DEV环境上的(较小的)公共API调用目前需要2.30秒负载,在PROD环境中需要4.86秒.这很有趣,因为DEV环境在EC2和RDS中都有一个小得多的实例类型.所以基本上乌龟在这里赢得比赛.(如果您对此API调用感兴趣,我很乐意通过PN与您分享,但我真的不想发布API调用的链接,即使它们基本上是公开的.)
结论
最后,感觉(我有点说'感觉')就像数据库在使用x天后/在一定量的API调用之后被阻塞了.不确定这是否是特定于RDS的问题,一旦我"通过更改实例类型"重置数据库实例,事情就会快速而平稳地运行.但是,每两周从快照重新创建我的数据库实例不是一种选择,特别是如果我不明白为什么会发生这种情况.
您有什么想法可以采取哪些进一步措施来调查此事吗?
amazon-rds ×10
database ×2
amazon-s3 ×1
aws-rds ×1
boto ×1
boto3 ×1
hikaricp ×1
java ×1
monitoring ×1
mysql ×1
netty ×1
powershell ×1
spring ×1
terraform ×1