diff --git a/docs/documentation/platform/dynamic-secrets/mysql.mdx b/docs/documentation/platform/dynamic-secrets/mysql.mdx
new file mode 100644
index 000000000..f5d3f6080
--- /dev/null
+++ b/docs/documentation/platform/dynamic-secrets/mysql.mdx
@@ -0,0 +1,110 @@
+---
+title: "MySQL"
+description: "Learn how to dynamically generate MySQL Database user passwords."
+---
+
+The Infisical MySQL secret rotation allows you to automatically rotate your MySQL database user's password at a predefined interval.
+
+
+## Prerequisite
+
+1. Create a user with the required permission in your SQL instance.
+
+
+## Set up Dynamic Secrets with MySQL
+
+
+
+ Open the Secret Overview dashboard and select the environment in which you would like to add a dynamic secret.
+
+
+ 
+
+
+ 
+
+
+
+ Name by which you want the secret to be referenced
+
+
+
+ Default time-to-live for a generated secret (it is possible to modify this value when a secret is generate)
+
+
+
+ Maximum time-to-live for a generated secret
+
+
+
+ Choose the service you want to generate dynamic secrets for. This must be selected as **MySQL**.
+
+
+
+ Database host
+
+
+
+ Database port
+
+
+
+ Username that will be used to create dynamic secrets
+
+
+
+ Password that will be used to create dynamic secrets
+
+
+
+ Name of the database for which you want to create dynamic secrets
+
+
+
+ A CA may be required if your DB requires it for incoming connections. AWS RDS instances with default settings will requires a CA which can be downloaded [here](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html#UsingWithRDS.SSL.CertificatesAllRegions).
+
+
+ 
+
+
+
+ If you want to provide specific privileges for the future generated dynamic secrets, you are able to specify them as SQL statements.
+
+ 
+
+
+ After submitting the form, you will see a dynamic secret creates in the dashboard.
+
+
+ If this step fails, you might have to add the CA certficate.
+
+
+ 
+
+
+ Once you've successfully created the dynamic secret, you're all set to generate unique secret values. To do this, simply click on the Generate button located in the respective row. Alternatively, you can initiate the creation of a new lease by selecting New Leases from the dynamic secret lease list section, accessible by clicking on the relevant row.
+
+ 
+ 
+
+ When generating these secrets, it's important to specify a Time-to-Live (TTL) duration within the predefined range. Ensure that the TTL falls within the maximum TTL defined in the previous step to maintain consistency and security.
+
+ 
+
+ After you click the `Submit` button, a new secret lease will be generated and the Database User and Database Password will be shown.
+
+ 
+
+
+
+## Audit or Revoke Leases
+As soon as you have generated a few secret leases, you will be able to access them by clicking on the respective dynamic secret row. In this modal, you are able to see the expiration time or delete a secret preemptively.
+
+
+
+## Renew Leases
+
+
+
+To extend the expiration of generated dynamic secret leases, simply click on the **Renew** button located above, as illustrated. This action also allows for an extension of the Time-to-Live (TTL).
+However, it's crucial to note that the expiry cannot exceed the maximum TTL from created, specified in the configuration settings.
diff --git a/docs/documentation/platform/dynamic-secrets/postgresql.mdx b/docs/documentation/platform/dynamic-secrets/postgresql.mdx
index b7728b484..cfe121d5f 100644
--- a/docs/documentation/platform/dynamic-secrets/postgresql.mdx
+++ b/docs/documentation/platform/dynamic-secrets/postgresql.mdx
@@ -37,7 +37,7 @@ The Infisical PostgreSQL secret rotation allows you to automatically rotate your
- Choose the service you want to generate dynamic secrets for
+ Choose the service you want to generate dynamic secrets for. This must be selected as **PostgreSQL**.
@@ -82,7 +82,12 @@ The Infisical PostgreSQL secret rotation allows you to automatically rotate your

- Now that the dynamic secret is created, you can start generating unique secret values by specifying the Time-to-live within the predefined range.
+ Once you've successfully created the dynamic secret, you're all set to generate unique secret values. To do this, simply click on the Generate button located in the respective row. Alternatively, you can initiate the creation of a new lease by selecting New Leases from the dynamic secret lease list section, accessible by clicking on the relevant row.
+
+ 
+ 
+
+ When generating these secrets, it's important to specify a Time-to-Live (TTL) duration within the predefined range. Ensure that the TTL falls within the maximum TTL defined in the previous step to maintain consistency and security.

@@ -90,9 +95,16 @@ The Infisical PostgreSQL secret rotation allows you to automatically rotate your

-
- As soon as you have generated a few secret leases, you will be able to access them by clicking `Generate` on the dynamic secret row. In this modal, you are able to see the expiration time or delete a secret preemptively.
-
- 
-
+
+## Audit or Revoke Leases
+As soon as you have generated a few secret leases, you will be able to access them by clicking on the respective dynamic secret row. In this modal, you are able to see the expiration time or delete a secret preemptively.
+
+
+
+## Renew Leases
+
+
+
+To extend the expiration of generated dynamic secret leases, simply click on the **Renew** button located above, as illustrated. This action also allows for an extension of the Time-to-Live (TTL).
+However, it's crucial to note that the expiry cannot exceed the maximum TTL from created, specified in the configuration settings.
diff --git a/docs/images/platform/dynamic-secrets/dynamic-secret-generate.png b/docs/images/platform/dynamic-secrets/dynamic-secret-generate.png
new file mode 100644
index 000000000..4a816614a
Binary files /dev/null and b/docs/images/platform/dynamic-secrets/dynamic-secret-generate.png differ
diff --git a/docs/images/platform/dynamic-secrets/dynamic-secret-lease-empty.png b/docs/images/platform/dynamic-secrets/dynamic-secret-lease-empty.png
new file mode 100644
index 000000000..e6da94dcd
Binary files /dev/null and b/docs/images/platform/dynamic-secrets/dynamic-secret-lease-empty.png differ
diff --git a/docs/images/platform/dynamic-secrets/dynamic-secret-lease-renew.png b/docs/images/platform/dynamic-secrets/dynamic-secret-lease-renew.png
new file mode 100644
index 000000000..e97554415
Binary files /dev/null and b/docs/images/platform/dynamic-secrets/dynamic-secret-lease-renew.png differ
diff --git a/docs/images/platform/dynamic-secrets/dynamic-secret-modal-mysql.png b/docs/images/platform/dynamic-secrets/dynamic-secret-modal-mysql.png
new file mode 100644
index 000000000..de4911d0d
Binary files /dev/null and b/docs/images/platform/dynamic-secrets/dynamic-secret-modal-mysql.png differ
diff --git a/docs/images/platform/dynamic-secrets/dynamic-secret.png b/docs/images/platform/dynamic-secrets/dynamic-secret.png
index f08fc4c55..e1ec71fcd 100644
Binary files a/docs/images/platform/dynamic-secrets/dynamic-secret.png and b/docs/images/platform/dynamic-secrets/dynamic-secret.png differ
diff --git a/docs/images/platform/dynamic-secrets/modify-sql-statement-mysql.png b/docs/images/platform/dynamic-secrets/modify-sql-statement-mysql.png
new file mode 100644
index 000000000..8ad9fc0e3
Binary files /dev/null and b/docs/images/platform/dynamic-secrets/modify-sql-statement-mysql.png differ
diff --git a/docs/mint.json b/docs/mint.json
index 114af99c3..04c604224 100644
--- a/docs/mint.json
+++ b/docs/mint.json
@@ -142,7 +142,8 @@
"group": "Dynamic Secrets",
"pages": [
"documentation/platform/dynamic-secrets/overview",
- "documentation/platform/dynamic-secrets/postgresql"
+ "documentation/platform/dynamic-secrets/postgresql",
+ "documentation/platform/dynamic-secrets/mysql"
]
},
"documentation/platform/groups"