> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sync.cdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# MariaDB

export const CommonDatasourceMoreInformation = ({datasource = "the data source", advancedurl = "", siteName = "CData Sync", driverVersion = ""}) => {
  return <>
      <p>
        For more information about interactions between {siteName} and {datasource}, see{' '}
        <a href={`https://cdn.cdata.com/help/${advancedurl}${driverVersion}/synch/default.htm`}>
          {datasource} Connector for {siteName}
        </a>.
      </p>
    </>;
};

export const CommonAuthSchemeLdap = ({siteName = "CData Sync", siteNameShort = "Sync", datasource = "the data source"}) => {
  return <>
      <p>To connect with LDAP credentials, specify the following properties:</p>
      <ul>
        <li><strong>Auth Scheme:</strong> Select <strong>LDAP</strong>.</li>
        <li><strong>User:</strong> Enter the username that you use to authenticate to your {datasource} account.</li>
        <li><strong>Password:</strong> Enter the password that you use to authenticate to your {datasource} account.</li>
      </ul>
    </>;
};

export const CommonAuthSchemeAzuremsi = ({siteName = "CData Sync"}) => {
  return <>
      <p>
        To leverage Azure Managed Service Identity (MSI) when {siteName} is running on an Azure
        virtual machine, select <strong>Azure MSI</strong> for <strong>Auth Scheme</strong>. No
        additional properties are required.
      </p>
    </>;
};

export const CommonAuthSchemePassword = ({siteName = "CData Sync", siteNameShort = "Sync", datasource = "the data source"}) => {
  return <>
      <p>To connect with your user credentials, set the following properties:</p>
      <ul>
        <li><strong>Auth Scheme:</strong> Select <strong>Password</strong>.</li>
        <li><strong>User:</strong> Enter the username that you use to authenticate to your {datasource} account.</li>
        <li><strong>Password:</strong> Enter the password that you use to authenticate to your {datasource} account.</li>
      </ul>
    </>;
};

export const CommonDatasourceAddConnector = ({datasource = "the data source", title = "the connector", destination = false, siteNameShort = "Sync"}) => {
  return <>
      <p>
        To enable {siteNameShort} to use data from {datasource}, you first must add the
        connector, as follows:
      </p>
      <ol>
        <li>Open the <strong>Connections</strong> page of the {siteNameShort} dashboard.</li>
        <li>Click <strong>Add Connection</strong> to open the <strong>Select Connectors</strong> page.</li>
        <li>
          Click the <strong>{destination ? "Destinations" : "Sources"}</strong> tab and locate
          the <strong>{title}</strong> row.
        </li>
        <li>
          Click the <strong>Configure Connection</strong> icon at the end of that row to open
          the <strong>New Connection</strong> page. This action opens the{' '}
          <strong>Add Connection</strong> dialog box.
          <br />
          <strong>Note:</strong> If the <strong>Configure Connection</strong> icon is not
          available, click the <strong>Download Connector</strong> icon to install
          the {title} connector.
        </li>
        <li>Enter a name for your connection in the <strong>Add Connection</strong> dialog box.</li>
        <li>Click <strong>Add</strong> to open the <strong>Settings</strong> tab for your connector.</li>
      </ol>
      <p>
        For more information about installing new connectors, see{' '}
        <a href="../connections">Connections</a>.
      </p>
    </>;
};

export const CommonDatasourceIntroSource = ({datasource = "the data source", siteName = "CData Sync"}) => {
  return <p>
      You can use the {datasource} connector from the {siteName} application to capture data
      from {datasource} and move it to any supported destination. To do so, you need to add
      the connector, authenticate to the connector, and complete your connection.
    </p>;
};

export const driverVersion = "M";

export const siteNameShort = "Sync";

export const siteName = "CData Sync";

export const datasource = "MariaDB";
export const pageTitle = "MariaDB";
export const advancedurl = "SR";
export const oauthschemes = "AzureAD";

<CommonDatasourceIntroSource datasource={datasource} siteName={siteName} />

## Add the MariaDB Connector

<CommonDatasourceAddConnector datasource={datasource} title={pageTitle} destination={false} siteNameShort={siteNameShort} />

## Authenticate to MariaDB

After you add the connector, you need to set the required properties.

* **Server:** Enter the host name or the IP address of your server.
* **Port:** Enter the port for the {datasource} database. The default port value is **3306**.

{siteName} supports authenticating to {pageTitle} in several ways. Select your authentication method below to proceed to the relevant section that contains the authentication details.

* [**Password**](#password) (default)
* [**NTLM**](#ntlm)
* [**Azure Active Directory**](#azure-active-directory)
* [**Azure Password**](#azure-password)
* [**Azure Managed Service Identity**](#azure-managed-service-identity)
* [**LDAP**](#ldap)

### Password

<CommonAuthSchemePassword siteName={siteName} siteNameShort={siteNameShort} datasource={datasource} />

### NTLM

To connect with NTLM user credentials, specify the following properties:

* **Auth Scheme:** Select **NTLM**.
* **Domain:** Enter the domain name for your Microsoft Windows (NTLM) login.
* **NTLM Version:** Select the version for you NTLM. The default version is **1**.

### Azure Active Directory

To connect with your Azure Active Directory credentials, specify the following properties:

* **Auth Scheme:**  Select **AzureAD**.
* **Azure Tenant:** Enter the Microsoft Online tenant to which you want to connect. If you do not specify a tenant, {siteName} uses the default tenant.
* **OAuth Client Id:** Enter the client Id that you were assigned when you registered your application with an OAuth authorization server.
* **OAuth Client Secret:** Enter the client secret that you were assigned when you registered your application with an OAuth authorization server.

### Azure Password

To connect with an Azure password, specify these settings:

* **Auth Scheme:** Select **AzurePassword**.
* **Azure Tenant:** Enter the identifier (Id) of the Azure Tenant under which your OAuth and client applications were created. This Id is available under **Directory (tenant) ID** on the **Overview** page of one of the applications.

### Azure Managed Service Identity

<CommonAuthSchemeAzuremsi siteName={siteName} siteNameShort={siteNameShort} datasource={datasource} />

### LDAP

<CommonAuthSchemeLdap siteName={siteName} siteNameShort={siteNameShort} datasource={datasource} />

## Complete Your Connection

To complete your connection:

1. Specify these properties:
   * (Optional) **Database:** Enter the name of the MariaDB database.
   * **Use SSL:** Select whether you want to enable Secure Sockets Layer (SSL). By default, the **Enable** checkbox is not selected.
2. Define advanced connection settings on the **Advanced** tab. (In most cases, though, you should not need these settings.)
3. {oauthschemes ? `If you authenticate with ${oauthschemes}, click` : "Click"} **Connect to {datasource}** to connect to your {pageTitle} account.
4. Click **Create & Test** to create your connection.

## Enable Binary Logging (for Change Data Capture)

Change data capture (CDC) is enabled automatically for the {datasource} database. However, you must enable binary logging for {datasource} replication. *Binary logs* record transaction updates so replication tools can generate changes. You need the following prerequisites in order to enable binary logging:

* a {datasource} server
* the appropriate {datasource} user privileges

### Enable Binary Logging

1. Determine whether binary logging is enabled by submitting the following statement from a {datasource} prompt:

   ```
   SHOW VARIABLES LIKE 'log_bin';
   ```

   If the option is not enabled (that is, your receive an `OFF` message), configure the following options in the {datasource} Server configuration file:

   ```
   server-id         = 223344
   log_bin           = mariadb-bin
   binlog_format     = ROW
   binlog_row_image  = FULL
   expire_logs_days  = 10
   ```

   Descriptions of these options are available in [{datasource} Binary-Logging Configuration Properties](#mariadb-binary-logging-configuration-properties).

2. Verify that binary logging is enabled by resubmitting this statement:

   ```
   SHOW VARIABLES LIKE 'log_bin';
   ```

### {datasource} Binary-Logging Configuration Properties

This section describes the values for options that are used earlier in step 1:

* `server-id`: This value is a unique Id for each server and each replication client in the {datasource} cluster.
* `log_bin`: The value for this option is the base name of the sequence of binlog files.
* `binlog_format`: The format value for this option is must be set either to `ROW` or `row`.
* `binlog_row_image`: The value for this option must be set to `FULL` or `full`.
* `expire_logs_days`: This value is the number of days before the binlog file is removed automatically. The default value is `0`, which means that there is no automatic removal. Set the value to match the needs of your environment.

## More Information

<CommonDatasourceMoreInformation datasource={datasource} advancedurl={advancedurl} siteName={siteName} driverVersion={driverVersion} />
