我正在尝试将数据从我的Aurora数据库中的表导出到我在S3中创建的存储桶,使用“ SELECT INTO OUTFILE S3 ”命令由亚马逊here.
推广 Select * from testauroradb.'table1' into outfile S3 's3://data-dump-bucket/Data';
当我尝试运行上面的行时,我收到以下错误:
Error Code: 1045. Access denied for user 'username'@'%' (using password: YES)
根据某些表单,这是由于用户没有权限,并且需要root用户授予。但是,这是root用户,根据Amazon提供的一些文档,root用户可以执行“ SELECT INTO S3 ”命令。我还检查过并且可以验证用户是否能够运行“ SELECT INTO S3 ”命令。 (我知道使用root用户不是一个好习惯,但这只是一个测试数据库)。
我还创建了一个IAM角色和策略来访问S3并将其链接到Aurora数据库。访问S3的政策:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:AbortMultipartUpload",
"s3:ListBucket",
"s3:DeleteObject",
"s3:ListMultipartUploadParts"
],
"Resource": [
"arn:aws:s3:::data-dump-bucket/Data"
]
}
]
}
我将策略附加到IAM角色。然后,我将角色ARN添加到附加到Aurora群集的参数组中的参数 aws_default_s3_role 。
仅在某些论坛之后,有些人成功将安全组的出站规则更改为“ TYPE:SSH,端口:22,目标:0.0.0.0/0 ”。但这对我来说也不起作用。如果有人能告诉我该怎么做或我做错了什么我会很感激。
答案 0 :(得分:1)
我遇到了同样的问题。我在我的IAM角色中添加了AmazonS3FullAccess策略,该策略有效。
答案 1 :(得分:0)
在您的数据库上运行此命令
从S3上的上加载图形。到'user'@'domain-or-ip-address'