> For the complete documentation index, see [llms.txt](https://docs.ovaledge.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ovaledge.com/release8.1/connectors/connector-repositories/rdbms/mysql.md).

# MySQL

This article outlines the integration with the MySQL connector, enabling streamlined metadata management through features such as crawling, profiling, querying, data preview, and lineage building (both automatic and manual).

MySQL connectivity is established using the JDBC driver. The connector supports User ID & Password Authentication and Azure Entra ID Authentication to establish access to MySQL metadata and data based on the privileges assigned to the service account.

<figure><img src="https://1121831267-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFZv5WsZmBfXjiJfMU2zR%2Fuploads%2F5zWO5wZdD2gDlZE6A8oi%2Fimage.png?alt=media&amp;token=250a0785-352a-44d4-9d08-8fe5194947ed" alt=""><figcaption></figcaption></figure>

## Overview

### Connector Details

<table data-header-hidden><thead><tr><th width="444"></th><th></th></tr></thead><tbody><tr><td>Connector Category</td><td>RDBMS</td></tr><tr><td>OvalEdge Release Supported</td><td>Release6.3.4 and later</td></tr><tr><td><p>Connectivity</p><p>[How the connection is established with RDBMS system]</p></td><td>JDBC driver</td></tr><tr><td>Verified MySQL Version</td><td>MySQL8.4</td></tr></tbody></table>

{% hint style="info" %}
&#x20;The MySQL connector has been validated with the mentioned "Verified MySQL Versions" and is expected to be compatible with other supported MySQL versions. If there are any issues with validation or metadata crawling, please submit a support ticket for investigation and feedback.
{% endhint %}

Connectivity to the MySQL connector is established using a JDBC driver. The supported driver version is listed below:

| Driver Details    | Version |
| ----------------- | ------- |
| MySQL JDBC Driver | 8.2.0   |

### Connector Features

| Feature                                      |                                                                Availability                                                                |
| -------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------: |
| Crawling                                     |                                                                      ✅                                                                     |
| Delta Crawling                               |                                                                      ❌                                                                     |
| Profiling                                    |                                                                      ✅                                                                     |
| Query Sheet                                  |                                                                      ✅                                                                     |
| Data Preview                                 |                                                                      ✅                                                                     |
| Auto Lineage                                 | <p>✅<br>To learn more, click <a href="https://docs.ovaledge.com/connectors/connector-repositories/rdbms/mysql/mysql-lineage">here</a>.</p> |
| Manual Lineage                               |                                                                      ✅                                                                     |
| Secure Authentication via Credential Manager |                                                                      ✅                                                                     |
| Data Quality                                 |                                                                      ✅                                                                     |
| DAM (Data Access Management)                 |                                                                      ❌                                                                     |
| Bridge                                       |                                                                      ✅                                                                     |

### Metadata Mapping

The following objects are crawled from MySQL and mapped to the corresponding UI assets.

<table><thead><tr><th width="179.6666259765625">MySQL Object</th><th width="166.5" valign="middle">MySQL Attribute</th><th width="195.9998779296875">OvalEdge Attribute</th><th width="184.25">OvalEdge Category</th><th width="188">OvalEdge Type</th></tr></thead><tbody><tr><td>Table</td><td valign="middle">Table Name</td><td>Table</td><td>Tables</td><td>table</td></tr><tr><td>Table</td><td valign="middle">Table Type</td><td>Type</td><td>Tables</td><td>table</td></tr><tr><td>Table</td><td valign="middle">Table Comments</td><td>Source Description</td><td>Descriptions</td><td>Source Description</td></tr><tr><td>Columns</td><td valign="middle">Column Name</td><td>Column</td><td>Table Columns</td><td>-</td></tr><tr><td>Columns</td><td valign="middle">Data Type</td><td>Column Type</td><td>Table Columns</td><td>-</td></tr><tr><td>Columns</td><td valign="middle">Description</td><td>Source Description</td><td>Table Columns</td><td>-</td></tr><tr><td>Columns</td><td valign="middle">Ordinal Position</td><td>Column Position</td><td>Table Columns</td><td>-</td></tr><tr><td>Columns</td><td valign="middle">Length</td><td>Data Type Size</td><td>Table Columns</td><td>-</td></tr><tr><td>Views</td><td valign="middle">View Name</td><td>View</td><td>Tables</td><td>view</td></tr><tr><td>Views</td><td valign="middle">text</td><td>View Query</td><td>Views</td><td>View</td></tr><tr><td>Procedures</td><td valign="middle">routine_name</td><td>Name</td><td>Procedures</td><td>Procedure</td></tr><tr><td>Procedures</td><td valign="middle">description</td><td>Source Description</td><td>Descriptions</td><td>-</td></tr><tr><td>Procedures</td><td valign="middle">routine_definition</td><td>Procedure</td><td>Procedures</td><td>-</td></tr><tr><td>Functions</td><td valign="middle">routine_name</td><td>Name</td><td>Functions</td><td>Functions</td></tr><tr><td>Functions</td><td valign="middle">routine_definition</td><td>Function</td><td>Functions</td><td>-</td></tr><tr><td>Functions</td><td valign="middle">description</td><td>Source Description</td><td>Descriptions</td><td>-</td></tr><tr><td>Triggers</td><td valign="middle">Trigger Name</td><td>Name</td><td>Triggers</td><td>-</td></tr><tr><td>Triggers</td><td valign="middle">Trigger Definition</td><td>Trigger Data</td><td>Triggers</td><td>-</td></tr><tr><td>Triggers</td><td valign="middle">Trigger Type</td><td>Type</td><td>Triggers</td><td>-</td></tr></tbody></table>

## Set up a Connection

### Prerequisites

The following are the prerequisites to establish a connection:

{% hint style="warning" %}
If **Azure Entra ID Authentication** is selected as the authentication type, ensure that the application is installed in the **Azure** environment.
{% endhint %}

#### **External Supporting Files**

{% hint style="info" %}
The required external JAR files are included as part of the **OvalEdge installation artifacts**. For driver installation and configuration details, refer to the [**Connector Drivers Setup Guide**](https://docs.ovaledge.com/connectors/additional-requirements/connector-drivers-setup-guide). Please contact the **OvalEdge Team** for assistance related to the driver files and configuration setup.
{% endhint %}

#### **Whitelisting Ports**

Make sure that inbound port “3306” is whitelisted to enable successful connectivity with the MySQL database.

{% hint style="warning" %}
The default port number for the MySQL data source is 3306. If a different port is used, ensure that the updated port number is specified during connection setup, the port is whitelisted, and communication between the system and the MySQL data source is properly established.
{% endhint %}

#### **Service Account User Permissions**

{% hint style="warning" %}
It is recommended to use a dedicated service account to establish the connection to the data source, configured with the following minimum set of permissions.
{% endhint %}

{% hint style="info" %}
👨‍💻 **Who can provide these permissions?** These permissions are typically granted by the MySQL administrator, as users may not have the required access to assign them independently.
{% endhint %}

<table data-search="false"><thead><tr><th width="192">Operations</th><th width="166">Objects</th><th width="187">Sys Tables</th><th width="554">Access Permissions</th></tr></thead><tbody><tr><td>Connection Validation</td><td>-</td><td>MySQL Database Connection</td><td>Valid database login (Service Account user). No object-level privileges are required. <strong>CONNECT/USAGE</strong> privilege granted by default to any user is sufficient. If SSH tunneling is enabled, OS-level SSH access and permission to set up local port forwarding are required.</td></tr><tr><td>Crawling</td><td>Schemas / Tables / Table Columns</td><td><code>INFORMATION_SCHEMA.SCHEMATA</code> / <code>INFORMATION_SCHEMA.TABLES</code> / <code>INFORMATION_SCHEMA.COLUMNS</code></td><td>At least one privilege on the schema, table, or view. Examples include USAGE/SELECT for schemas and SELECT for tables/views.</td></tr><tr><td>Crawling</td><td>Indexes</td><td><code>INFORMATION_SCHEMA.STATISTICS</code></td><td>A privilege on the target table, such as <strong>SELECT/INDEX</strong>, so that its index rows are exposed in <code>INFORMATION_SCHEMA.STATISTICS</code>.</td></tr><tr><td>Crawling</td><td>Column Relations</td><td><code>INFORMATION_SCHEMA.KEY_COLUMN_USAGE</code></td><td><strong>SELECT</strong> permission on <code>INFORMATION_SCHEMA.KEY_COLUMN_USAGE</code> and a privilege on the parent/child tables so their constraint rows are visible.</td></tr><tr><td>Crawling</td><td>Views</td><td><code>INFORMATION_SCHEMA.VIEWS</code></td><td><strong>SHOW VIEW</strong> privilege on the schema/view. Without it, <code>VIEW_DEFINITION</code> is returned empty. <strong>SELECT</strong> privilege on the view and its underlying tables is typically required alongside SHOW VIEW.</td></tr><tr><td>Crawling / Lineage</td><td>Stored Procedures / Functions</td><td><code>INFORMATION_SCHEMA.ROUTINES</code></td><td><strong>DEFINER</strong> / <strong>SHOW_ROUTINE</strong></td></tr><tr><td>Crawling</td><td>Triggers / Full Triggers</td><td><code>INFORMATION_SCHEMA.TRIGGERS</code></td><td><strong>TRIGGER</strong> privilege on the schema/table containing the trigger.</td></tr><tr><td>Profiling / Sample Profiling / Data Preview / Crawling / Micro DB / Parquet Streaming Read (AskEdgi)</td><td>Tables / Table Columns</td><td>Target Table / Columns</td><td><strong>SELECT</strong> permission for the Service Account user on the target table and applicable columns.</td></tr><tr><td>Govern Data Query</td><td>Tables / Table Columns</td><td>Target Table / Columns</td><td><strong>SELECT</strong> permission for the Service Account user on the target table and columns referenced in the SELECT list and WHERE conditions.</td></tr><tr><td>Query Log Crawl</td><td>Query Logs</td><td><code>mysql.general_log</code></td><td><code>general_log</code> must be enabled and <code>log_output</code> must be set to <strong>TABLE</strong>. Reading the <code>mysql</code> system database typically requires an elevated/administrative grant, such as <strong>SELECT on <code>mysql</code></strong>.</td></tr><tr><td>Execute Scripts in Transaction</td><td>Schemas / Database Objects</td><td>Target Schema</td><td>Initial checks (<code>select database()</code> / <code>select 1</code>) require only a valid login. Each executed script requires the privileges appropriate to its statements on the target schema.</td></tr></tbody></table>

{% hint style="info" %}
Profiling / Sample Profiling includes Non-Null Count, First N Rows, Column Profiling (text types / spatial / generic / string / numeric), Top Value Distribution, and Sum / Avg / Std Dev.
{% endhint %}

### Connection Configuration Steps

{% hint style="warning" %}
Users are required to have the Connector Creator role in order to configure a new connection.
{% endhint %}

1. Log into OvalEdge, go to **Administration > Connectors**, click **+ (New Connector)**, search for **MySQL**, and complete the required parameters.

{% hint style="info" %}
Fields marked with an asterisk (\*) are mandatory for establishing a connection.
{% endhint %}

<table><thead><tr><th width="185.25">Field Name</th><th>Description</th></tr></thead><tbody><tr><td>Connector Type</td><td>By default, "MySQL" is displayed as the selected connector type.</td></tr><tr><td>Authentication</td><td><p>The following two types of authentication are supported for MySQL Server:</p><ul><li>UserId &#x26; Password Authentication</li><li>Azure Entra ID Authentication</li></ul></td></tr></tbody></table>

{% tabs %}
{% tab title="UserId & Password Authentication" %}

<table><thead><tr><th width="217.75">Field Name</th><th>Description</th></tr></thead><tbody><tr><td>SSL Enabled*</td><td>Select True or False. By default, the value is set to False.</td></tr><tr><td>Use SSH Tunnel*</td><td>Select True or False. By default, the value is set to False.</td></tr><tr><td>SSH Host/IP*</td><td>Enter the Host of SSH Tunnel<br><em><strong>Note</strong>: This field is enabled only when the Use SSH Tunnel option is selected as True.</em></td></tr><tr><td>SSH Port*</td><td>Enter the SSH Tunnel Port<br><em><strong>Note</strong>: This field is enabled only when the Use SSH Tunnel option is selected as True.</em></td></tr><tr><td>SSH User Name*</td><td>Enter the SSH Tunnel User Name<br><em><strong>Note</strong>: This field is enabled only when the Use SSH Tunnel option is selected as True.</em></td></tr><tr><td>SSH Password*</td><td>Enter the Password of SSH Tunnel<br><em><strong>Note</strong>: This field is enabled only when the Use SSH Tunnel option is selected as True.</em></td></tr><tr><td>Local Port*</td><td>Enter the Local Port for port forwarding<br><em><strong>Note</strong>: This field is enabled only when the Use SSH Tunnel option is selected as True.</em></td></tr><tr><td>Credential Manager*</td><td><p>Select the desired credentials manager from the drop-down list. Relevant parameters will be displayed based on the selection.</p><p>Supported Credential Managers:</p><ul><li>OE Credential Manager</li><li>AWS Secrets Manager</li><li>HashiCorp</li><li>Azure Key Vault</li></ul><p>For more details, click <a href="https://docs.ovaledge.com/connectors/additional-requirements/credential-manager-configuration">here</a>.</p></td></tr><tr><td>License Add Ons</td><td><ul><li>Select the checkbox for Auto Lineage Add-On to build data lineage automatically.</li><li>Select the checkbox for Data Quality Add-On to identify data quality issues using data quality rules and anomaly detection.</li></ul><p>For more details, click <a href="https://docs.ovaledge.com/connectors/introduction-to-connectors/setup-and-connectivity/license-types-and-add-ons">here</a>.</p></td></tr><tr><td>Connector Name*</td><td><p>Enter a unique name for the MySQL connection              </p><p>(Example: "MySQLdb").</p></td></tr><tr><td>Connector Environment</td><td>Select the environment (Example: PROD, STG) configured for the connector.<br>For more details, click <a href="https://docs.ovaledge.com/connectors/introduction-to-connectors/setup-and-connectivity/prerequisites#connector-environment">here</a>.</td></tr><tr><td>Connector Description</td><td>Enter a brief description of the connector.</td></tr><tr><td>Server*</td><td>Enter the MySQL Server database server name or IP address. (Example: xxxx-sxxxxxx.xxxx4ijxxxl.xx-xx-1.rxs.xxxxx.com or 1xx.xxx.1.xx).</td></tr><tr><td>Port*</td><td>By default, the port number for MySQL, "3306" is auto-populated. If required, the port number can be modified as per the custom port number that is configured for the MySQL Database.</td></tr><tr><td>Database*</td><td>Enter the user-defined database name for the MySQL connection to crawl metadata.</td></tr><tr><td>Driver*</td><td>By default, the MySQL driver details are auto-populated. </td></tr><tr><td>Username*</td><td>Enter the service account username set up to access the MySQL database (Example: "oesauser").</td></tr><tr><td>Password*</td><td>Enter the password associated with the service account user.</td></tr><tr><td>Connection String</td><td><p>Configure the connection string for the MySQL database:</p><ul><li>Automatic Mode: The system generates a connection string based on the provided credentials.</li><li>Manual Mode: Enter a valid connection string manually.</li></ul><p>Replace placeholders with actual database details.</p><p>{sid} refers to the Database Name</p></td></tr><tr><td>Plugin Server</td><td>Enter the server name when running as a plugin server.</td></tr><tr><td>Plugin Port</td><td>Enter the port number on which the plugin is running.</td></tr></tbody></table>
{% endtab %}

{% tab title="Azure Entra ID Authentication" %}

<table><thead><tr><th width="206.5">Field Name</th><th>Description</th></tr></thead><tbody><tr><td>SSL Enabled*</td><td>Select True or False. By default, the value is set to False.</td></tr><tr><td>Use SSH Tunnel*</td><td>Select True or False. By default, the value is set to False.</td></tr><tr><td>SSH Host/IP*</td><td>Enter the Host of the SSH Tunnel.<br><em><strong>Note</strong>: This field is enabled only when the Use SSH Tunnel option is selected as True.</em></td></tr><tr><td>SSH Port*</td><td>Enter the SSH Tunnel Port.<br><em><strong>Note</strong>: This field is enabled only when the Use SSH Tunnel option is selected as True.</em></td></tr><tr><td>SSH User Name*</td><td><p>Enter the SSH Tunnel User Name.</p><p><em><strong>Note</strong>: This field is enabled only when the Use SSH Tunnel option is selected as True.</em></p></td></tr><tr><td>SSH Password*</td><td><p>Enter the Password of the SSH Tunnel.</p><p><em><strong>Note</strong>: This field is enabled only when the Use SSH Tunnel option is selected as True.</em></p></td></tr><tr><td>Local Port*</td><td><p>Enter the Local Port for port forwarding.</p><p><em><strong>Note</strong>: This field is enabled only when the Use SSH Tunnel option is selected as True.</em></p></td></tr><tr><td>Credential Manager*</td><td><p>Select the desired credentials manager from the drop-down list. Relevant parameters will be displayed based on the selection.</p><p>Supported Credential Managers:</p><ul><li>OE Credential Manager</li><li>AWS Secrets Manager</li><li>HashiCorp</li><li>Azure Key Vault</li></ul><p>For more details, click <a href="https://docs.ovaledge.com/connectors/additional-requirements/credential-manager-configuration">here</a>.</p></td></tr><tr><td>License Add Ons</td><td><ul><li>Select the checkbox for Auto Lineage Add-On to build data lineage automatically.</li><li>Select the checkbox for Data Quality Add-On to identify data quality issues using data quality rules and anomaly detection.</li></ul><p>For more details, click <a href="https://docs.ovaledge.com/connectors/introduction-to-connectors/setup-and-connectivity/license-types-and-add-ons">here</a>.</p></td></tr><tr><td>Connector Name*</td><td><p>Enter a unique name for the MySQL connection              </p><p>(Example: "MySQLdb").</p></td></tr><tr><td>Connector Environment</td><td>Select the environment (Example: PROD, STG) configured for the connector.<br>For more details, click <a href="https://docs.ovaledge.com/connectors/introduction-to-connectors/setup-and-connectivity/prerequisites#connector-environment">here</a>.</td></tr><tr><td>Connector Description</td><td>Enter a brief description of the connector.</td></tr><tr><td>Server*</td><td>Enter the MySQL Server database server name or IP address. (Example: xxxx-sxxxxxx.xxxx4ijxxxl.xx-south-1.rxs.xxxxx.com or 1xx.xxx.1.xx).</td></tr><tr><td>Port*</td><td>By default, the port number for MySQL, "3306" is auto-populated. If required, the port number can be modified as per the custom port number that is configured for the MySQL Database.</td></tr><tr><td>Database*</td><td>Enter the user-defined database name for the MySQL connection to crawl metadata.</td></tr><tr><td>Driver*</td><td>By default, the MySQL driver details are auto-populated. </td></tr><tr><td>Username*</td><td>Enter the service account username set up to access the MySQL database (Example: "oesauser").</td></tr><tr><td>Connection String</td><td><p>Configure the connection string for the MySQL database:</p><ul><li>Automatic Mode: The system generates a connection string based on the provided credentials.</li><li>Manual Mode: Enter a valid connection string manually.</li></ul><p>Replace placeholders with actual database details.</p><p>{sid} refers to the Database Name<br><strong>AuthenticationPlugins:</strong><br>com.azure.identity.extensions.jdbc.mysql.AzureMysqlAuthenticationPlugin<br>This is part of <strong>Azure Identity Extensions</strong> for MySQL, which allows connecting to Azure Database for MySQL using Azure AD authentication.</p></td></tr><tr><td>Plugin Server</td><td>Enter the server name when running as a plugin server.</td></tr><tr><td>Plugin Port</td><td>Enter the port number on which the plugin is running.</td></tr></tbody></table>
{% endtab %}
{% endtabs %}

<table data-header-hidden><thead><tr><th width="220.3636474609375"></th><th></th></tr></thead><tbody><tr><td>Default Governance Roles*</td><td>Select the appropriate users or teams for each governance role from the drop-down list. All users configured in the security settings are available for selection.</td></tr><tr><td>Admin Roles*</td><td>Select one or more users from the dropdown list for Integration Admin and Security &#x26; Governance Admin. All users configured in the security settings are available for selection.</td></tr><tr><td>No Of Archive Objects*</td><td><p>This shows the number of recent metadata changes to a dataset at the source. By default, it is off. To enable it, toggle the Archive button and specify the number of objects to archive.</p><p>Example: Setting it to 4 retrieves the last four changes, displayed in the 'Version' column of the 'Metadata Changes' module.</p></td></tr><tr><td>Select Bridge*</td><td><p>If applicable, select the bridge from the drop-down list.</p><p>The drop-down list displays all active bridges that have been configured. These bridges facilitate communication between data sources and the system without requiring changes to firewall rules.</p></td></tr></tbody></table>

2. After entering all connection details, the following actions can be performed:
   1. Click **Validate** to verify the connection.
   2. Click **Save** to store the connection for future use.
   3. Click **Save & Configure** to apply additional settings before saving.
3. The saved connection will appear on the Connectors home page.

## Manage Connector Operations

### Crawl/Profile

{% hint style="warning" %}
To perform crawl and profile operations, users must be assigned the Integration Admin role.
{% endhint %}

The **Crawl/Profile** button allows users to select one or more schemas for crawling and profiling.

1. Navigate to the Connectors page and click **Crawl/Profile.**
2. Select the schemas to be crawled.
3. The **Crawl** option is selected by default. To perform both operations, select the **Crawl & Profile** radio button.
4. Click **Run** to collect metadata from the connected source and load it into the **Data Catalog**.
5. After a successful crawl, the information appears in the **Data Catalog > Databases** tab.

The **Schedule** checkbox allows automated crawling and profiling at defined intervals, from a minute to a year.

1. Click the **Schedule** checkbox to enable the **Select Period** drop-down.
2. Select a time interval for the operation from the drop-down menu.
3. Click **Schedule** to initiate metadata collection from the connected source.
4. The system will automatically execute the selected operation (**Crawl** or **Crawl & Profile**) at the scheduled time.

#### Other Operations

The **Connectors** page provides a centralized view of all configured connectors, along with their health status.

**Managing connectors includes:**

* **Connectors Health**: Displays the current status of each connector using a green icon for active connections and a red icon for inactive connections, helping to monitor the connectivity with data sources.
* **Viewing**: Click the **Eye** icon next to the connector name to view connector details, including databases, tables, and columns.

**Nine Dots Menu Options:**

To view, edit, validate, build lineage, configure, or delete connectors, click on the **Nine Dots menu**.

* **Edit Connector**: Update and revalidate the data source.
* **Validate Connector**: Check the connection's integrity.
* **Settings**: Modify connector settings.
  * **Crawler**: Configure data extraction.
  * **Profiler**: Customize data profiling rules and methods.
  * **Query Policies**: Define query execution rules based on roles.
  * **Access Instructions**: Add notes on how data can be accessed.
  * **Business Glossary Settings**: Manage term associations at the connector level.
  * **Anomaly Detection Settings**: Configure anomaly detection preferences at the connector level.
  * **Connection Pooling**: Configure database connection pool parameters to optimize database connectivity and resource utilization. For more details, click [here](https://docs.ovaledge.com/connectors/introduction-to-connectors/setup-and-connectivity/connector-settings#connection-pooling).
  * **Others**: Configure notification recipients for metadata changes.
* **Build Lineage**: Automatically build data lineage using source code parsing.
* **Delete Connector**: Remove a connector with confirmation.

For more details on connector settings, click [here](https://docs.ovaledge.com/connectors/introduction-to-connectors/setup-and-connectivity/connector-settings).

## Troubleshooting

If incorrect parameters are entered, error messages may appear. Ensure all inputs are accurate to resolve these issues. If issues persist, contact the assigned support team.

{% tabs %}
{% tab title="Connectivity" %}

<table data-search="true"><thead><tr><th width="83.13671875">S. No</th><th width="190.484375">Error Message</th><th>Error Description &#x26; Resolution</th></tr></thead><tbody><tr><td>1</td><td>Error occurred while securely connecting to the CLIENT BRIDGE</td><td><p>The issue occurs when the Client Bridge connection is interrupted or the query execution exceeds the configured timeout. Differences in the Java version across Client Bridges may also affect job stability.</p><p><strong>Resolution</strong>:</p><ul><li>Verify Client Bridge connectivity and review the Bridge and job logs for connection interruptions or timeout-related errors.</li><li>Check the query execution time and data volume of the affected tables, and validate the applicable query/job timeout configuration.</li><li>Ensure the Client Bridge uses a supported and consistent Java version, and review the Bridge bootstrap configuration for any custom VM arguments.</li></ul></td></tr><tr><td>2</td><td>Connection validation fails when the source requires encrypted communication</td><td><p>Validation fails when the source requires SSL but <strong>SSL enabled</strong> is set to false.</p><p><strong>Resolution:</strong></p><ul><li>Set <strong>SSL enabled</strong> to true in the connection setup form.</li><li>Revalidate the connection.</li><li>If validation still fails, confirm whether additional network-level access is required.</li></ul></td></tr><tr><td>3</td><td>Connection validation fails after adding a custom parameter or after a source-side configuration change</td><td><p>The source may require an additional connection parameter that is not available in the standard connection fields.</p><p><strong>Resolution:</strong></p><ul><li>Review the validation error for the required parameter.</li><li>Add the required parameter manually to the connection string.</li><li>Revalidate the connection.</li></ul></td></tr><tr><td>4</td><td>Connection validation fails when a credential manager other than the default database option is being used</td><td><p>Validation can fail when the configured key name does not exactly match the key in HashiCorp, AWS Secrets Manager, or Azure Key Vault.</p><p><strong>Resolution:</strong></p><ul><li>Confirm that the dependent secret manager connector is created and correctly referenced under <strong>Credential Manager</strong>.</li><li>Verify the key name against the secret store.</li><li>Enter the correct key name and revalidate the connection</li></ul></td></tr><tr><td>5</td><td>Query sheet execution takes longer than expected and eventually times out</td><td><p>The configured query timeout is too low for the volume of data being queried.</p><p><strong>Resolution:</strong></p><ul><li>Increase <strong>Query Timeout Seconds</strong> under connection pooling settings, for example, from the default 180 seconds to a higher value.</li><li>If the same delay occurs during initial validation, increase the <strong>Connection Timeout</strong> value.</li></ul></td></tr><tr><td>6</td><td>Password or other sensitive columns not visible when querying certain internal tables through the query sheet using the internal -1 connection</td><td><p>Certain sensitive tables and columns are intentionally restricted through the internal <strong>-1 MySQL connection</strong> because it has broad access to internal application data.<br><strong>Resolution:</strong></p><ul><li>Confirm whether the queried table is a restricted internal table, such as connection information.</li><li>Treat hidden sensitive columns, such as passwords, as expected restricted behavior rather than an error.</li></ul></td></tr></tbody></table>
{% endtab %}

{% tab title="Crawling" %}

<table data-search="true"><thead><tr><th width="83.0390625">S. No</th><th width="189.5703125">Error Message</th><th>Error Description &#x26; Resolution</th></tr></thead><tbody><tr><td>1</td><td>Some databases or schemas missing after a crawl, with no error shown in the job logs</td><td><p>Include or exclude filters may unintentionally exclude a database or schema.</p><p><strong>Resolution:</strong></p><ul><li>Run <code>SHOW DATABASES</code> on the source system to identify available databases.</li><li>Compare the results with the schema, table, and column filters under <strong>Crawler Rules</strong>.</li><li>Update the filters and re-run the crawl</li></ul></td></tr><tr><td>2</td><td>Certain tables or functions expected in the catalog do not appear after a crawl</td><td><p>The required source permission may be missing for the affected object type.</p><p><strong>Resolution:</strong></p><ul><li>Confirm <strong>USAGE</strong> permission on the information schema for schema-level crawling.</li><li>Confirm <strong>SELECT</strong> permission on the tables view for tables, columns, and views.</li><li>Confirm <strong>EXECUTE</strong> permission on the routines view for functions and stored procedures, and <strong>TRIGGER</strong> permission for triggers.</li></ul></td></tr><tr><td>3</td><td>Primary key and foreign key relationships not appearing between tables</td><td><p>Relationship metadata cannot be retrieved when the required permissions are missing on the key column usage view.</p><p><strong>Resolution:</strong></p><ul><li>Confirm <strong>SELECT</strong> and <strong>REFERENCES</strong> permissions on the key column usage view of the information schema.</li><li>Apply the required GRANT statement on the affected schema.</li><li>Re-run the crawl and verify that relationships appear.</li></ul></td></tr></tbody></table>
{% endtab %}
{% endtabs %}

## FAQs

{% tabs %}
{% tab title="Connectivity" %}

<table><thead><tr><th width="82.59765625">S. No</th><th width="188.4921875">Question</th><th>Answer</th></tr></thead><tbody><tr><td>1</td><td>What authentication types are supported for this connector?</td><td><p>Two authentication types are supported:</p><ul><li><strong>User ID and Password:</strong> Requires server, port, database, username, and password.</li><li><strong>Azure Entra ID:</strong> Requires server, port, database, and username; no password is required.</li><li>For Entra ID, enter a normal username instead of an email address.</li><li>The username must already be mapped to the MySQL instance.</li></ul></td></tr><tr><td>2</td><td>Are the source permissions different for the two authentication types?</td><td><p>No. Both authentication types require the same source permissions.</p><ul><li>The authentication method only changes how the user is verified.</li><li>Required permissions for crawling and profiling remain the same.</li></ul></td></tr><tr><td>3</td><td>What is the default port used for the MySQL connection?</td><td><p>The default MySQL port is <strong>3306</strong>.</p><ul><li>If the source uses a different port, enter the configured port in the connection setup form.</li></ul></td></tr><tr><td>4</td><td>What is SSL enabled used for, and when should it be enabled?</td><td><p><strong>SSL-enabled</strong> controls encrypted communication between the application and MySQL.</p><ul><li>Set it to <strong>true</strong> when the source requires encrypted communication.</li><li>SSL may also be required when the source is accessed through a private network or private link.</li><li>Revalidate the connection after enabling SSL.</li></ul></td></tr><tr><td>5</td><td>What is the SSH tunnel option, and when is it needed?</td><td><p>SSH tunneling is used when the MySQL server is behind a private network or firewall and cannot be accessed directly.</p><ul><li>Enable SSH tunneling to display the SSH username, SSH port, host, and local port fields.</li><li>SSH establishes access to the private network first.</li><li>The MySQL server, port, username, and password are then used to connect to the database.</li></ul></td></tr><tr><td>6</td><td>What is the internally created -1 MySQL connection used for?</td><td><p>The <strong>-1 connection</strong> is automatically created using the database credentials configured in the application properties file.</p><ul><li>Supports the reporting framework, including dashboards and generated reports.</li><li>Is created or updated when the application starts or restarts.</li><li>Uses credentials from the properties file, including credentials retrieved from a configured secret manager.</li><li>Requires an application restart for credential changes to take effect.</li><li>Does not require manual creation or refresh through a reporting job.</li></ul></td></tr><tr><td>7</td><td>Why are some tables or sensitive columns restricted when using the -1 connection?</td><td><p>The <strong>-1 connection</strong> has broad access to internal application data, so certain sensitive tables and columns are restricted.</p><ul><li>Sensitive columns, such as passwords in connection information, are hidden from query results.</li><li>Other non-sensitive columns may remain visible.</li><li>This restriction applies specifically to the <strong>-1 connection</strong>.</li></ul></td></tr></tbody></table>
{% endtab %}

{% tab title="Permissions" %}

<table data-search="true"><thead><tr><th width="83.97265625">S. No</th><th width="189.69921875">Question</th><th>Answer</th></tr></thead><tbody><tr><td>1</td><td>What permissions are required on the MySQL source system?</td><td><p>The following permissions are required:</p><ul><li><strong>USAGE</strong> on the information schema for schema-level crawling.</li><li><strong>SELECT</strong> on the tables view for tables, columns, and views.</li><li><strong>EXECUTE</strong> on the routines view for functions and stored procedures.</li><li><strong>TRIGGER</strong> permission for trigger crawling.</li><li><strong>SELECT</strong> and <strong>REFERENCES</strong> on the key column usage view for relationship crawling.</li></ul><p>If a permission is missing, only the related object type is affected; other objects continue to be retrieved normally.</p></td></tr></tbody></table>
{% endtab %}
{% endtabs %}

***

&#x20;Copyright © 2026, OvalEdge LLC, Peachtree Corners GA USA


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.ovaledge.com/release8.1/connectors/connector-repositories/rdbms/mysql.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
