Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions docs/using-the-jdbc-driver/SupportForRDSMultiAzDBCluster.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@ The process of using the AWS JDBC Driver with RDS Multi-AZ DB Cluster is the sam

### MySQL

There are permissions that must be granted to all non-administrative users who need database access. Without proper access, these users cannot utilize many of the driver's advanced features, including failover support. To grant the necessary permissions to non-administrative users, execute the following statement:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do any other deployment types require extra statements for non-admin users (aurora, mysql instance etc)?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Other types of DB might also require extra permissions. However, the major concern is MultiAz clusters. The wrapper needs access to cluster topology so permissions for non-admin users are essential. RDS Instance doesn't provide topology so the wrapper doesn't need any extra permissions (as for now). Aurora doesn't require extra permissions either.


```sql
GRANT SELECT ON mysql.rds_topology TO 'non-admin-username'@'%'
```

Preparing a connection with MySQL in a Multi-AZ Cluster remains the same as before:

```java
Expand All @@ -24,6 +30,12 @@ Per AWS documentation and [this blog post](https://aws.amazon.com/blogs/database
CREATE EXTENSION rds_tools;
```

The extension must be granted to all non-administrative users who need database access. Without access to `rds_tools`, non-admin users cannot utilize many of the driver's advanced features, including failover support. To grant the necessary permissions to non-administrative users, execute the following statement:

```sql
GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA rds_tools TO non-admin-username;
```

Then, prepare the connection with:

```java
Expand Down