标签: amazon-aurora

间歇性的"未知数据库"

我们目前正在尝试使用在RDS上运行的AWS Aurora(mysql)数据库来解决运行dotnet核心和EF核心的问题.

我们在一些选择中通过EF获得"未知数据库"错误,问题是它们相当罕见且数据库显然存在.我在下面添加了错误,遗憾的是我只能在4天前找到另一个问题(AWS Aurora服务器有时会回复"未知数据库:...")但是没有任何令人满意的回复.

我很感激任何帮助,甚至承认这不仅仅是我和另一个人.

fail: MySql.Data.EntityFrameworkCore.Query.Internal.MySQLQueryCompilationContextFactory[1]
  An exception occurred in the database while iterating the results of a query.
  MySql.Data.MySqlClient.MySqlException: Unknown database 'mydb_dev'
     at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
     at MySql.Data.MySqlClient.NativeDriver.ReadOk(Boolean read)
     at MySql.Data.MySqlClient.MySqlConnection.ChangeDatabase(String databaseName)
     at MySql.Data.MySqlClient.MySqlConnection.Open()
     at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.Open()
     at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable.Enumerator.MoveNext()
     at Microsoft.EntityFrameworkCore.Query.QueryMethodProvider.<_ShapedQuery>d__3`1.MoveNext()
     at Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider.ExceptionInterceptor`1.EnumeratorExceptionInterceptor.MoveNext()

MySql.Data.MySqlClient.MySqlException: Unknown database 'mydb_dev'
   at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
   at MySql.Data.MySqlClient.NativeDriver.ReadOk(Boolean read)
   at MySql.Data.MySqlClient.MySqlConnection.ChangeDatabase(String databaseName)
   at MySql.Data.MySqlClient.MySqlConnection.Open()
   at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.Open()
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable.Enumerator.MoveNext()
   at Microsoft.EntityFrameworkCore.Query.QueryMethodProvider.<_ShapedQuery>d__3`1.MoveNext()
   at Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider.ExceptionInterceptor`1.EnumeratorExceptionInterceptor.MoveNext()
Run Code Online (Sandbox Code Playgroud)

.net mysql entity-framework amazon-aurora asp.net-core

8
推荐指数
0
解决办法
1200
查看次数

如何使用CloudFormation将IAM角色与Aurora群集相关联?

按照此处的说明,我创建了以下IAM角色

"DatabaseS3Role": {
    "Type": "AWS::IAM::Role",
    "Properties": {
        "AssumeRolePolicyDocument": {
            "Version": "2012-10-17",
            "Statement": [
                {
                    "Effect": "Allow",
                    "Principal": {
                        "Service": ["rds.amazonaws.com"]
                    },
                    "Action": "sts:AssumeRole"
                }
            ]
        },
        "Policies": [
            {
                "PolicyName": "AllowAuroraToReadS3",
                "PolicyDocument": {
                    "Version": "2012-10-17",
                    "Statement": [
                        {
                            "Effect": "Allow",
                            "Action": ["s3:GetObject", "s3:GetObjectVersion", "s3:ListBucket"],
                            "Resource": {"Fn::Join": ["", [
                                "arn:aws:s3:::",
                                {"Fn::Join": ["-",[
                                    {"Ref": "ClientName"}, 
                                    {"Ref": "SourceBucketName"},
                                    {"Ref": "EnvironmentType"},
                                    { "Fn::FindInMap" : [ "Regions", { "Ref" : "AWS::Region" }, "Name" ] }
                                ]]} ,
                                "*"
                            ]]}
                        }
                    ]
                }
            } …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-web-services aws-cloudformation amazon-iam amazon-aurora

8
推荐指数
1
解决办法
2523
查看次数

将数据从AWS S3复制到Aurora Postgres

我正在尝试将数据从AWS S3复制到Aurora Postgres.目前我的流程如下:

  1. 从本地S3下载文件(在EC2实例上)
  2. 运行" COPY FROM STDIN ..."命令将数据从输入流加载到Aurora postgres.

我想知道是否有命令直接从S3复制到Aurora postgres.

postgresql amazon-s3 amazon-aurora

8
推荐指数
1
解决办法
3729
查看次数

我无法在 AWS Aurora 集群中启用“公共访问”配置

文档中显示我应该可以打开 RDS Aurora 数据库中的“公共访问”,但我看不到此设置。

RDS Autora 连接

这是另一个 RDS 实例(不是 Aurora)的屏幕截图

在此输入图像描述

有人有办法解决这个问题吗?

谢谢!

connectivity amazon-web-services amazon-rds amazon-aurora

8
推荐指数
1
解决办法
1613
查看次数

使用 Terraform 在 AWS Aurora V2 中部署 MySQL 8.0

我正在尝试使用 Terraform 使用 AWS Aurora V2 部署无服务器 MySQL 8.0 服务。

\n

Terraform 详细信息(不是最新版本,但应与最新的 AWS 提供商版本兼容):

\n
Terraform v0.15.4\non linux_amd64\n+ provider registry.terraform.io/hashicorp/aws v4.12.0\n+ provider registry.terraform.io/hashicorp/consul v2.15.1\n+ provider registry.terraform.io/hashicorp/random v3.1.3\n+ provider registry.terraform.io/hashicorp/template v2.2.0\n+ provider registry.terraform.io/hashicorp/vault v3.5.0\n
Run Code Online (Sandbox Code Playgroud)\n

这是相关main.tf文件:

\n
resource "aws_rds_cluster" "database" {\n  cluster_identifier      = var.cluster_identifier\n  db_subnet_group_name    = aws_db_subnet_group.db_subnet_group.name\n  vpc_security_group_ids  = var.vpc_security_group_ids\n  engine_mode             = "serverless"\n  enable_http_endpoint    = var.enable_http_endpoint\n  master_username         = var.master_username\n  master_password         = random_password.rng.result\n  database_name           = var.name\n  backup_retention_period = var.backup_retention_period\n  skip_final_snapshot     = var.skip_final_snapshot\n  deletion_protection     = var.deletion_protection\n  engine                  = "aurora-mysql"\n  engine_version …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services terraform amazon-aurora terraform-provider-aws

8
推荐指数
1
解决办法
7747
查看次数

无法从 SQL 客户端连接 Amazon Aurora Serverless

今天,我在 us-west-2 中为 PostGreSql 创建了 Amazon Aurora Serverless 集群,确保 VPC 和安全组可公开访问。但我无法使用 Navicat/PgAdmin4 桌面客户端中的 aurora 端点连接该集群。然后我尝试从与 Aurora Serverless 相同的安全组/vpc 中的 EC2 实例进行尝试,然后它就成功了。

来自 AWS 论坛,

您无法为 AuroraServerless数据库集群提供公共 IP 地址。您可以从 基于 Amazon VPC 服务的Virtual Private Cloud (VPC)内访问 AuroraServerless数据库集群。only

来源: https://forums.aws.amazon.com/thread.jspa? messageID=862860&tstart=0

似乎它使用内部 AWS 网络设置,目前仅支持来自 VPC 内部的连接,并且它必须与部署无服务器集群的 VPC 相同。

所以现在基本上我的问题是,

是否有任何解决方法可以将 Aurora Serverless 与 Navicat 或 PgAdmin4 等客户端连接?

amazon-aurora aws-aurora-serverless

7
推荐指数
1
解决办法
3254
查看次数

SQLAlchemy RDS IAM 登录

我正在尝试将我们的SQLAlchemy连接与我们的RDS Aurora集群连接起来。问题是,就在我们连接之前,我们需要通过boto3. 当我们在应用程序启动时检索此密码时,我们会在 30 分钟后出现问题(从那时起SQLAlchemy开始刷新连接但身份验证令牌不再有效)。我知道在create_engine方法(示例)中有使用创建者方法的解决方法,但是这使得解决方案数据库引擎特定于(例如带有 psycopg2 驱动程序的 postgres)。

我想要一个不包括驱动程序选择的解决方案,让SQLAlchemy我为我做这件事。但是,就在SQLAlchemy我想要执行此 boto 调用并更改 URL的连接之前。我尝试了不同的方法,使用插件或自定义池。然而,我尝试的所有这些方法都没有成功,因为我无法在连接之前影响 url(使用插件)或者我无法获取 url(使用自定义池)。

你们都知道如何解决这个问题而无需将代码绑定到特定的 DBMS 驱动程序。想听听你的意见

sqlalchemy amazon-rds amazon-iam amazon-aurora

7
推荐指数
1
解决办法
863
查看次数

参数组更改未反映在 Aurora Serverless 数据库集群上

我正在尝试将Aurora mysql 5.6.10(启用数据 API)实例中的binlog_format参数更新为ROW,但我无法更改它。

我已相应更新了自定义参数组,但当我运行时,这些更改不会反映在集群上show variables like 'binlog_format'

  • 更改参数组后,集群立即进入Modifying状态,但完成后参数尚未更新。
  • 我似乎无法在 AWS UI 上找到重新启动或停止集群的选项。
  • 使用 CLI,我在尝试停止集群时收到此错误:An error occurred (InvalidDBClusterStateFault) when calling the StopDBCluster operation: Stop-db-cluster is not supported for these configurations
  • 尝试更改容量设置,但没有任何作用。

我还有其他失踪的方式吗?

mysql amazon-web-services amazon-aurora

7
推荐指数
1
解决办法
3477
查看次数

Aurora/Postgres 多主控?

我正在实施 Postgres Aurora 来接受交互式和批量输入。如果我使用RDS,我会使用ClusterControl来实现多主复制,然后使用连接池来建立节点关联。有人指出,Multimaster for Aurora 仅限 MySQL。ClusterControl 可以与 Aurora 配合使用吗?是否有替代方案,或者我将被迫使用 RDS(或使用单个写入主机)?

提前致谢。

postgresql amazon-rds amazon-aurora

7
推荐指数
0
解决办法
1400
查看次数

仅将 AWS Aurora Engine 版本指定为 Terraform 中的主版本号

我有一些创建 AWS Aurora RDS 集群的 Terraform 代码:

resource "aws_rds_cluster" "default" {
  provider                = aws.customer
  cluster_identifier      = "my_id"
  engine                  = "aurora-mysql"
  engine_version          = "5.7.mysql_aurora.2.03.2"
  database_name           = var.db_name
  port                    = var.db_port
  master_username         = var.db_master_username
  master_password         = random_password.sqlpassword.result
  backup_retention_period = 5
  preferred_backup_window = "07:00-09:00"
  skip_final_snapshot     = true
  db_subnet_group_name    = aws_db_subnet_group.default.name
  vpc_security_group_ids  = [aws_security_group.rds.id]
  deletion_protection     = true
}
Run Code Online (Sandbox Code Playgroud)

这段代码已经工作正常有一段时间了,直到最近因此terraform apply错误而失败Error: Failed to modify RDS Cluster (my_id): InvalidParameterCombination: Cannot upgrade aurora-mysql from 5.7.mysql_aurora.2.07.2 to 5.7.mysql_aurora.2.03.2

长话短说,AWS 在维护时段升级了次要版本号,并拒绝允许 Terraform 降级数据库。我同意 AWS 这样做,但我不想每次发生这种情况时都必须提交新的 Terraform …

amazon-web-services terraform amazon-aurora terraform-provider-aws

7
推荐指数
1
解决办法
3831
查看次数