MySQL 版本 - RDS 上的 8.0.23 我正在将本地数据库复制到 AWS RDS MySQL 实例。但我收到此错误:
2021-11-11T22:43:09.091947Z 378 [ERROR] [MY-010584] [Repl] Slave I/O for channel '': error connecting to master 'replicator@localhost:3306' - retry-time: 60 retries: 1 message: Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection. Error_code: MY-002061
Run Code Online (Sandbox Code Playgroud)
我的 RDS 从属状态:
*************************** 1. row ***************************
Slave_IO_State: Connecting to master
Master_Host: localhost
Master_User: replicator
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: DESKTOP-7DL3FOM-bin.000010
Read_Master_Log_Pos: 700
Relay_Log_File: relaylog.000001
Relay_Log_Pos: 4
Relay_Master_Log_File: DESKTOP-7DL3FOM-bin.000010
Slave_IO_Running: Connecting
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table: …Run Code Online (Sandbox Code Playgroud) 使用 pgxpool 作为客户端池的导入,还使用 RDS 代理进行池
文件夹结构
pghelper.go(这里使用单例 pgxPool.ConnectConfig(ctx, config) 并将连接实例返回给所有处理程序
内部处理程序调用连接池实例来运行数据库查询
注意:根据 Stackoverflow 中的一些文档,不要关闭处理程序内或代码中任何位置的实例
这是正确的方法吗?
由于 ClientConnections 正在关闭,但即使在 RDS Proxy 中收到超时后,数据库连接也不会关闭
超时设置
我应该如何使池按预期工作,因为我觉得池没有发生并且数据库连接在超时后也没有关闭?
我最近使用 RDS 在 AWS 上打开了一个数据库实例。我找不到数据库的 IP 或主机名。有人可以帮忙吗?我使用的是 MariaDB 版本 10.5.13。如果需要更多信息,请告诉我。我对此很陌生,所以我不太确定需要什么。
我已通过 RDS 事件订阅设置了快照事件警报,以使用 SNS 主题(通过电子邮件订阅)。一切工作正常,直到我使用 KMS 密钥加密主题(SSE)。我尝试过“默认”密钥,然后尝试了 CMK。对于 CMK,我使用了将服务主体指定为 rds.amazonaws.com 的密钥策略,但没有成功。我也尝试添加 sns.amazonaws.com 。最后我想出了最允许的关键政策(如下),但再次没有成功。
{
"Sid": "Allow access for Key User (SNS Service Principal)",
"Effect": "Allow",
"Principal": {
"Service": "*"
},
"Action": "kms:*",
"Resource": "*"
}
Run Code Online (Sandbox Code Playgroud)
我发现这个领域(加密 SNS)的记录很少,而且我还没有找到关于加密 SNS 支持哪些服务、哪些不支持的明确规范。我得到的最接近的是这个( RDS 未列出):
https://aws.amazon.com/blogs/compute/encrypting-messages-published-to-amazon-sns-with-aws-kms/
我将不胜感激任何帮助。
我正在使用 Cloudformation 和 Serverless Framework 创建 AWS Aurora Serverless V2 Postgres 数据库集群 (AWS::RDS::DBCluster)(见下文)。目前还不清楚我是否还应该创建两个数据库实例 (AWS::RDS::DBInstance),以便集群具有可用的读取器和写入器实例?
当我运行 AWS RDS 向导时,Aurora Serverless V2 集群会自动设置两个实例(读取器和写入器)。我假设在创建 cloudformation 脚本时我应该做同样的事情?
簇
Type: AWS::RDS::DBCluster
DeletionPolicy: Delete
Properties:
DBClusterIdentifier: db-test-cluster
Engine: aurora-postgresql
MasterUsername: username_from_secrets_manager
MasterUserPassword: password_from_secrets_manager
ServerlessV2ScalingConfiguration:
MinCapacity: 0.5
MaxCapacity: 2
BackupRetentionPeriod: 1
DatabaseName: test-db
EngineMode: provisioned
Port: 5432
Tags:
- Key: "Name"
Value: db-test-cluster
Run Code Online (Sandbox Code Playgroud)
DbInstance 1 - 读取器
Type: AWS::RDS::DBInstance
Properties:
Engine: aurora-postgresql
DBInstanceClass: db.serverless
DBClusterIdentifier: !Ref auroraServerlessCluster
Run Code Online (Sandbox Code Playgroud)
DbInstance 2 - 编写器
Type: AWS::RDS::DBInstance
Properties:
Engine: aurora-postgresql
DBInstanceClass: …Run Code Online (Sandbox Code Playgroud) amazon-web-services amazon-rds aws-cloudformation serverless-framework aws-aurora-serverless
我有一些疑问.
默认情况下,Google appengine(基于云的部署平台)不支持mysql或任何数据库.所以我们考虑使用Amazon RDS作为选项(因为它在云中).在阅读完文档后,我了解到amazon公开了Web服务并为基本操作提供了API,例如创建数据库实例等.但我不确定它是否为CRUD操作提供了API.因此,我应该以编程方式配置amazon RDS并在其中执行CRUD操作.请回答.
我可以编写一个类似于亚马逊WS的Web服务来在亚马逊RDS中执行CRUD操作吗?这可行吗?请尽快回答我的问题.
我按照这里找到的aws教程.
一切顺利,直到通过pgadmin连接到postgresql实例.
我输入了相应的用户/ pw信息并适当地复制/粘贴了db的地址.
我的aws仪表板上的端口确实是5432.
我收到以下错误消息:
Server doesn't listen
The server doesn't accept connections: the connection library reports
could not connect to server: Operation timed out Is the server running on host "my_database_name.some_stuff.us-west-2.rds.amazonaws.com" (52.10.228.18) and accepting TCP/IP connections on port 5432?
If you encounter this message, please check if the server you're trying to contact is actually running PostgreSQL on the given port. Test if you have network connectivity from your client to the server host using ping …Run Code Online (Sandbox Code Playgroud) 我在Amazon RDS上托管了我的MySql数据库,它有最后一个自动快照.(例如昨天午夜).现在情况是,我已经从一个非常重要的表中意外删除了一些记录,并希望恢复它.自昨天午夜起我没有额外的备份.(如前所述).现在如何在不停机的情况下恢复数据?如何使用时间点数据恢复?如果有人需要更多信息,请告诉我,并对我糟糕的解释表示抱歉.
我正在使用默认配置单元元存储创建一个EMR集群,此后,我使用一些属性覆盖了hive-site.xml,这些属性将aws rds实例指向配置单元存储,一切都很好,但是重新启动配置单元服务器后,我无法将RDS用作配置单元metastore。它仍然在EMR创建的默认配置单元元存储中使用。
现在,我将用户名和密码作为环境变量传入。变量是从另一个文件中检索的,因此使用git存储的cloudformation不包含密码和用户名,这是很好的。但是,现在在控制台中查看lambda时,它们以纯文本格式存储。
以与云提供商无关的方式存储这些凭据的最佳实践是什么?我基本上只是不想使用KMS或任何其他存储AWS服务的密钥。
出于完整性考虑,我还考虑过将密码存储在dynamodb表中。然后,我将使用IAM来检索那些凭据。但是,这些凭据仍以明文形式存储。如果这是检索凭据的最佳方法,那么有一种对其进行加密的最佳方法,或者不是最佳路径。
感谢您的所有评论和建议。
amazon-rds ×10
mysql ×3
amazon-sns ×1
emr ×1
encryption ×1
go ×1
hadoop ×1
hive ×1
pgx ×1
postgresql ×1
restore ×1
security ×1