MySQL
Last updated: 01/09/2026This topic explains how to configure connectivity to a MySQL target using the MySQL target connector. MySQL can be used as a target database in a replication task only. Before you can connect to a MySQL target you need to configure the Required permissions on the database. If you are connecting to MySQL via Passerelle de déplacement des données, you also need to install the driver as described in Driver setup.
For information about the limitations and considerations when using the MySQL connector, see Limitations and considerations.
Setting connection properties
To configure the connector, do the following:
-
In Connections, click Create connection.
-
Select the MySQL target connector and then provide the following settings:
Data target
-
Passerelle de données: When working with Passerelle de déplacement des données, select the data gateway that will be used to test the connection to the MySQL target. This should be the same gateway that was used to access the data source.
Note Informations- This field is not available with Démarreur Qlik Talend Cloud subscription as Passerelle de déplacement des données is not supported with this subscription tier.
-
You also need to install the appropriate driver on the Passerelle de déplacement des données machine. For details, see Driver setup below.
-
Cloud provider: Choose one of the following as appropriate:
-
None
- For MySQL on-premises, MariaDB, Amazon Aurora, or Microsoft Azure Database for MySQL - Flexible Server.
- When working without Passerelle de déplacement des données
-
Amazon RDS
For Amazon RDS for MariaDB or Amazon RDS for MySQL.
-
Google Cloud
For Google Cloud SQL for MySQL.
-
Microsoft Azure
For Microsoft Azure Database for MySQL.
-
-
Server: The host name or IP address of the computer on which the MySQL database is installed.
-
Port: The port to use when connecting to the database. The default is 3306.
Account properties
User Name and Password: The user name and password of a user authorized to access the MySQL Server database.
Database properties
- Target Database Type: Choose one of the following:
- Specific database: When this option is selected, all source schemas will be loaded into the specified Database.
- Multiple databases: When this option is selected, each of the source schemas will be loaded into its corresponding database. Additionally, by default, all Control Tables will be replicated to a new schema called attrep_control. For more information about Control Tables, see Tables de contrôle.
- Max file size (KB): Select or type the maximum size (in KB) of a CSV file before it is loaded into the MySQL target database. The default value is 32000 KB.
- Parallel load threads: Increasing the number of threads might improve performance when loading data into the MySQL target database. Note that setting a large number of threads may have an adverse effect on database performance since a separate connection is required for each thread.
Propriétés internes
Les propriétés internes s'adressent à des cas d'utilisation spéciaux et ne sont par conséquent pas exposées dans la boîte de dialogue. Utilisez-les uniquement si Qlik Support vous le demande.
Utilisez les boutons et
à droite des champs pour ajouter ou supprimer des propriétés, suivant les besoins.
Name
The display name for the connection.
Prerequisites
Required permissions
The user specified in the connector settings must be granted:
- MySQL account access
- Read/write privileges in the MySQL database
-
The following permissions
for each target schema involved in the replication:
- ALTER
- CREATE
- CREATE TEMPORARY TABLES
- DELETE
- DROP
- INSERT
- SELECT
- UPDATE
Driver setup
Cette section explique comment installer le driver requis. Le processus implique l'exécution d'un script qui téléchargera, installera et configurera automatiquement le driver requis. Vous pouvez également exécuter des scripts permettant de mettre à jour et de désinstaller le driver, si nécessaire.
Préparation de l'installation
-
Assurez-vous que Python 3.6 ou une version ultérieure est installé sur le serveur de passerelle Déplacement des données.
Python est préinstallé sur la plupart des distributions Linux. Vous pouvez vérifier la version de Python installée sur votre système en exécutant la commande suivante :
python3 --version
Installation de driver
Pour télécharger et installer le driver :
-
Sur le poste de passerelle Déplacement des données, remplacez le répertoire de travail par :
opt/qlik/gateway/movement/drivers/bin
-
Exécutez la commande suivante :
Syntaxe :
./install mysql
Si le driver ne peut pas être téléchargé (en raison de restrictions d'accès ou de problèmes techniques), un message s'affichera, vous indiquant où télécharger et copier le driver sur le poste de passerelle Déplacement des données. Une fois que c'est fait, exécutez de nouveau la commande install mysql.
Sinon, le CLUF du driver apparaîtra.
-
Effectuez l'une des opérations suivantes :
- Appuyez à plusieurs reprises sur [Entrée] pour parcourir lentement le CLUF.
- Appuyez à plusieurs reprises sur la barre d'espace pour parcourir rapidement le CLUF.
- Appuyez sur q pour quitter le texte de licence et faire apparaître les options d'acceptation du CLUF.
-
Effectuez l'une des opérations suivantes :
- Saisissez « y » et appuyez sur [Entrée] pour accepter le CLUF et démarrer l'installation.
- Saisissez « n » et appuyez sur [Entrée] pour rejeter le CLUF et quitter l'installation.
-
Saisissez « v » et appuyez sur [Entrée] pour afficher de nouveau le CLUF.
Le driver sera installé.
Mise à jour du driver
Exécutez la commande update si vous souhaitez désinstaller des versions précédentes du driver avant d'installer le driver fourni.
Pour télécharger et mettre à jour le driver :
-
Sur le poste de passerelle Déplacement des données, remplacez le répertoire de travail par :
opt/qlik/gateway/movement/drivers/bin
-
Exécutez la commande suivante :
Syntaxe :
./update mysql
Si le driver ne peut pas être téléchargé (en raison de restrictions d'accès ou de problèmes techniques), un message s'affichera, vous indiquant où télécharger et copier le driversur le poste de passerelle Déplacement des données. Une fois que c'est fait, exécutez de nouveau la commande update mysql.
Sinon, le CLUF du driver apparaîtra.
-
Effectuez l'une des opérations suivantes :
- Appuyez à plusieurs reprises sur [Entrée] pour parcourir lentement le CLUF.
- Appuyez à plusieurs reprises sur la barre d'espace pour parcourir rapidement le CLUF.
- Appuyez sur q pour quitter le texte de licence et faire apparaître les options d'acceptation du CLUF.
-
Effectuez l'une des opérations suivantes :
- Saisissez « y » et appuyez sur [Entrée] pour accepter le CLUF et démarrer l'installation.
- Saisissez « n » et appuyez sur [Entrée] pour rejeter le CLUF et quitter l'installation.
- Saisissez « v » et appuyez sur [Entrée] pour passer le CLUF en revue depuis le début.
L'ancien driver sera désinstallé et le nouveau driver sera installé.
Désinstallation du driver
Exécutez la commande uninstall si vous souhaitez désinstaller le driver.
Pour désinstaller le driver :
-
Arrêtez toutes les tâches configurées pour utiliser ce connecteur.
-
Sur le poste de passerelle Déplacement des données, remplacez le répertoire de travail par :
opt/qlik/gateway/movement/drivers/bin
-
Exécutez la commande suivante :
Syntaxe :
./uninstall mysql
le driver sera désinstallé.
Installing the driver manually
Vous devez tenter d'installer manuellement le driver uniquement si l'installation de pilote automatisée n'a pas fonctionné.
Une fois la Passerelle de déplacement des données installée, téléchargez le pilote mysql-connector-odbc-<version>.x86_64.rpm. Vous trouverez un lien de téléchargement direct vers la version supportée sous binary-artifacts dans /opt/qlik/gateway/movement/drivers/manifests/mysql.yaml. Une fois le téléchargement terminé, copiez le RPM sur le poste Passerelle de déplacement des données.
Sur le serveur Data Movement gateway, ouvrez une invite shell et procédez comme suit :
-
Arrêtez le service Data Movement gateway :
sudo systemctl stop repagent
-
Confirmez éventuellement l'arrêt du service :
sudo systemctl status repagent
Le statut doit être comme suit :
Active: inactive (dead) since <timestamp> ago
- Installez le pilote sur le poste Data Movement gateway.
-
Remplacez le répertoire de travail par <Data Movement gateway-Install-Dir>/bin.
-
Copiez l'emplacement du pilote dans le fichier site_arep_login.sh :
echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/lib64" >> site_arep_login.sh
Le pilote est ainsi ajouté à « LD_LIBRARY_PATH » et son emplacement est mis à jour dans le fichier site_arep_login.sh.
-
Confirmez éventuellement que l'emplacement du pilote a été copié :
cat site_arep_login.sh -
Vérifiez si le fichier /etc/odbcinst.ini contient une entrée pour MySQL, comme dans l'exemple suivant :
[MySQL ODBC 8.0 Unicode Driver]Driver = /usr/lib64/libmyodbc8w.soUsageCount = 1 -
Démarrez le service Data Movement gateway :
sudo systemctl start repagent
-
Confirmez éventuellement le lancement du service :
sudo systemctl status repagent
Le statut doit être comme suit :
Active: active (running) since <timestamp> ago
Limitations and considerations
The following limitations apply when using MySQL as a replication target:
-
When replicating to the MariaDB target database, if the DATETIME value is set to zero, you need to define a transformation that replaces the DATETIME with valid values. For example:
replace($datetime_column,'9999-12-31 23:59:59','2000-01-01 22:00:00')
Note InformationsThis limitation does not apply to Microsoft Azure Database for MySQL. - Due to the way MySQL operates, when loading data to a MySQL target during a Full Load task, duplicate key errors will not be reported to the logs.
-
When updating a column's value to its existing value, a zero rows affected is returned from MySQL (unlike Oracle and Microsoft SQL Server that perform an update of one row).
This generates an entry in the attrep_apply_exceptions Control Table and the following warning:
Some changes from the source database had no impact when applied to the target database. See attrep_apply_exceptions table for details.
-
If you need to replicate 4-byte emoji characters, the target schema character set must be set to utf8mb4.
-
When a source table contains a large number of columns, MySQL might return a Row size too large (> 8126) error as 8126 bytes is the default maximum row size in MySQL. When using SaaS application sources, this error occurs during runtime. When using other source types such as databases, the error occurs during task preparation. To address this limitation, use either of the following approaches:
-
Recommended approach: After the data is ingested. remove the columns you do not need on the target. For information on how to do this, see Suppression de colonnes. If you still encounter the error, remove more columns.
-
Alternative mitigation: If you need all the source columns to be included in the target table, there are certain MySQL database configurations that will allow this. One of these is increasing the MySQL page size to be large enough to accommodate the row size.
Note InformationsFor sources with row sizes exceeding the 65,535-byte limit, you must convert the source field to a data type that supports larger row sizes. This is due to a known limitation on maximum row record size. For more information, see the MySQL documentation on row size limits.
-
Data types
Les informations de type de données natif sont préservées et affichées dans la colonne Type de données natif des vues d'ensemble de données. Si la colonne n'est pas visible, vous devez ouvrir le sélecteur de colonnes de la vue d'ensemble de données et sélectionner la colonne Type de données natif.
| Types de données Qlik Cloud | Types de données MySQL |
|---|---|
|
BOOL |
BOOL |
|
BYTES |
Si longueur est => 1 et =< 8 095 : VARBINARY (Longueur) Si longueur est => 8 096 et =< 65 535 : BLOB Si longueur est => 65 536 et =< 16 777 215 : MEDIUMBLOB Si longueur est => 16 777 216 et =< 2 147 483 647 : LONGBLOB |
|
DATE |
DATE |
|
TIME |
TIME |
|
DATETIME |
Si l'échelle est => 0 et =< 6 : DECIMAL (p,s) Si l'échelle est => 7 et =< 12 : VARCHAR (37) |
|
INT1 |
TINYINT |
|
INT2 |
SMALLINT |
|
INT4 |
INTEGER |
|
INT8 |
BIGINT |
|
NUMERIC |
Si échelle est => 0 et =< 30 : DECIMAL (p,s) Si échelle est => 31 et =< 100 : VARCHAR (45) |
|
REAL4 |
FLOAT |
|
REAL8 |
DOUBLE |
|
STRING |
Si longueur est => 1 et =< 8 095 : VARCHAR (Longueur) Si longueur est => 8 096 et =< 65 535 : TEXT Si longueur est => 65 536 et =< 16 777 215 : MEDIUMTEXT Si longueur est => 16 777 216 et =< 2 147 483 647 : LONGTEXT |
|
UINT1 |
UNSIGNED TINYINT |
|
UINT2 |
UNSIGNED SMALLINT |
|
UINT4 |
UNSIGNED INTEGER |
|
UINT8 |
UNSIGNED BIGINT |
|
WSTRING |
Si longueur est => 1 et =< 8 095 : VARCHAR (Longueur) Si longueur est => 8 096 et =< 65 535 : TEXT Si longueur est => 65 536 et =< 16 777 215 : MEDIUMTEXT Si longueur est => 16 777 216 et =< 2 147 483 647 : LONGTEXT |
|
BLOB |
Lorsque l'option Autoriser une taille de LOB illimitée est activée :
Lorsque l'option Limiter la taille de LOB à est activée :
Pour des informations sur la limitation de la taille de LOB, voir Metadata. |
|
NCLOB |
Lorsque l'option Autoriser une taille de LOB illimitée est activée :
Lorsque l'option Limiter la taille de LOB à est activée :
Pour des informations sur la limitation de la taille de LOB, voir Metadata. |
|
CLOB |
Lorsque l'option Autoriser une taille de LOB illimitée est activée :
Lorsque l'option Limiter la taille de LOB à est activée :
Pour des informations sur la limitation de la taille de LOB, voir Metadata. |