0

我将 ansible 与 community.mysql.mysql_user 一起使用以在 AWS aurora 上自动创建数据库用户。到目前为止,所有授权都运行良好,但是 AWS 上特定于 mysql 的“从 S3 加载”的新要求在发布后并未出现。

我只用ansible模块使用的pymysql(见下文)复制了这个,我得到了相同的结果。我在数据库上看不到任何错误,其余的赠款按预期显示。

  • PyMySQL 1.0.2
  • CPython 3.9.7
  • 码头工人:python:3.9.7-slim-buster

如果有人可以提供修复/摆脱一些光/替代品,请告诉我,否则我会继续挖掘。

import pymysql.cursors

# Connect to the database 
connection = pymysql.connect(host='some_aurora_mysql_5.7_host',
                             user='some_user',
                             password='redacted',
                             database='redacted',
                             cursorclass=pymysql.cursors.DictCursor,
                                 ssl = {
                                    'ssl': {
                                        'activate': True
                                        }
                                    }
                             )
with connection:
    with connection.cursor() as cursor:
        # Create a new record
        sql = "GRANT SELECT,LOAD FROM S3 ON `some_table`.* TO 'some_user'@'%' "
        cursor.execute(sql)
    connection.commit()

    with connection.cursor() as cursor:
        # Read a single record
        sql = "show grants for some_user"
        cursor.execute(sql)
        result = cursor.fetchone()
        print(result)

4

1 回答 1

0

事实证明,LOAD FROM S3 是在整个数据库服务器/集群上,而不是在单个数据库上。

所以: GRANT LOAD FROM S3 ON *.* TO 'test_user'@'%'工作正常。

于 2022-01-12T18:14:26.920 回答