# Prerequisites

Before using MySQL as an endpoint in a Qlik Replicate task, make sure that the prerequisites outlined below have been met.

## Driver setup

### Installing the driver on Windows

Install MySQL ODBC Unicode Driver 64-bit version 8.0.32 on the Replicate machine.

### Installing the driver on Linux

1. Stop the Replicate service and optionally confirm that it has stopped as described in [Replicate server procedures](https://help.qlik.com/en-US/replicate/May2025/Content/Replicate/Main/Installation/Server_Procedures.htm).

2. Install MySQL ODBC Unicode Driver 64-bit version 8.0.32 on the Replicate machine.

3. Change the working directory to &lt;Replicate-Install-Dir&gt;/bin.

4. Copy the driver location to the `site_arep_login.sh` file:

   `echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/lib64" >> site_arep_login.sh`

   This will add the driver to "LD\_LIBRARY\_PATH" and update the driver location in the site\_arep\_login.sh file.

5. Optionally, confirm that the driver location was copied:

   ```
   cat site_arep_login.sh
                           
   ```

6. Make sure that the /etc/odbcinst.ini file contains an entry for MySQL, as in the following example:

   ` [MySQL ODBC 8.0 Unicode Driver]
                            ` ` Driver   = /usr/lib64/libmyodbc8w.so
                            ` ` UsageCount  = 1
                            `

7. Start the Replicate service and optionally confirm that it has started as described in [Replicate server procedures](https://help.qlik.com/en-US/replicate/May2025/Content/Replicate/Main/Installation/Server_Procedures.htm).

## General prerequisites

Make sure that the following prerequisites have been met:

* A MySQL account with the required [Permissions](https://help.qlik.com/en-US/replicate/May2025/Content/Replicate/Main/MySQL/security_req_mysql_target.htm).

* A MySQL database with the tables that you want to replicate should be accessible in your network.

  The following MySQL editions are supported:

  * MySQL Community Edition
  * MySQL Standard Edition
  * MySQL Enterprise Edition
  * MySQL Cluster Carrier Grade Edition

## Working with MySQL 8

To work with MySQL 8 as a target endpoint, you need to:

* Set the parameter ` secure_file_priv = NULL  `in the MySQL database.
* If you are using LOB columns, set the parameter `sort_buffer_size = 128M` in the MySQL database.

## Working with Azure Database for MySQL - Flexible Server

When working with Azure Database for MySQL - Flexible Server, the `sql_generate_invisible_primary_key` parameter must be set to 'OFF'.

For more information, see [Limitations in Azure Database for MySQL - Flexible Server](https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-limitations)

## Replicating 4-byte UTF8 emojis

To support replication of 4-byte UTF8 emojis, the target schema character set must be set to utf8mb4.

## Setting the local\_infile system variable

To enable data loading using CSV files (with the default command LOAD DATA LOCAL INFILE), make sure the system variable local\_infile is enabled on the target database.