MySQL:
Questo argomento spiega come configurare la connettività a una destinazione MySQL utilizzando il connettore di destinazione MySQL. È possibile utilizzare MySQL come database di destinazione solo in un'attività di replica. Prima di potersi connettere a una destinazione MySQL, è necessario configurare Autorizzazioni richieste nel database. Se ci si connette a un MySQL tramite Gateway di Data Movement, è necessario anche installare il driver come descritto in Configurazione del driver.
Per informazioni sulle limitazioni e per considerazioni sull'utilizzo del connettore MySQL, vedere Limiti e considerazioni.
Impostazione delle proprietà di connessione
Per configurare il connettore, procedere come segue:
-
In Connessioni, fare clic su Crea connessione.
-
Selezionare il connettore MySQL di destinazione, quindi fornire le seguenti impostazioni:
Destinazione dati
-
Gateway dati: Quando si utilizza il Gateway di Data Movement, selezionare il gateway dati che verrà utilizzato per testare la connessione alla destinazione MySQL. Questo dovrebbe essere lo stesso gateway utilizzato per accedere alla sorgente dati.
Nota informatica- Questo campo non è disponibile con la sottoscrizione Avvio Qlik Talend Cloud, poiché il Gateway di Data Movement non è supportato con i livelli di sottoscrizione.
-
Inoltre, è necessario installare il driver appropriato sul computer Gateway di Data Movement. Per dettagli, vedere Configurazione del driver qui sotto.
-
Provider cloud provider: scegliere una delle seguenti opzioni:
-
Nessuno
- Per MySQL in loco, MariaDB, Amazon Aurora o il database Microsoft Azure Database per MySQL - Flexible Server.
- Quando si lavora senza il Gateway di Data Movement
-
Amazon RDS
Per Amazon RDS per MariaDB o Amazon RDS per MySQL.
-
Google Cloud
Per Google Cloud SQL per MySQL.
-
Microsoft Azure
Per Microsoft Azure Database per MySQL.
-
-
Server: il nome host o l'indirizzo IP del computer su cui è installato il database MySQL.
-
Porta: la porta da utilizzare durante la connessione al database. L'impostazione predefinita è 3306.
Proprietà dell'account
Nome utente e Password: il nome utente e la password di un utente autorizzato ad accedere al database di MySQL Server.
Proprietà del database
- Target Database Type: Scegliere una delle seguenti opzioni elencate di seguito.
- Specific database: quando questa opzione è selezionata, tutti gli schemi di origine verranno caricati nel Database specificato.
- Multiple databases: quando questa opzione è selezionata, ogni schema di origine verrà caricato nel database corrispondente. Inoltre, per impostazione predefinita, tutte le Tabelle di controllo verranno effettuare la replica in un nuovo schema denominato attrep_control. Per maggiori informazioni sulle Tabelle di controllo, vedere Tabelle di controllo.
- Max file size (KB): selezionare o digitare le dimensioni massime (in KB) di un file CSV prima di caricarlo in un database di destinazione MySQL. Il valore predefinito è 32000 KB.
- Parallel load threads: se si aumenta il numero di thread, è possibile migliorare le prestazioni quando si caricano dati sul database di destinazione MySQL. Notare che se si imposta un gran numero di thread, questi potrebbero avere un effetto avverso sulle prestazioni del database, poiché per ogni thread è richiesta una connessione separata.
Proprietà interne
Le proprietà interne servono per casi d'uso speciali e pertanto non vengono visualizzate nella finestra di dialogo. Gli utenti devono utilizzarle solo se indicato dal Supporto di Qlik.
Usare i pulsanti e a destra del campo per aggiungere o rimuovere proprietà in base alle esigenze.
Nome
Il nome visualizzato per la connessione.
Prerequisiti
Autorizzazioni richieste
All'utente specificato nelle impostazioni del connettore devono essere concessi i seguenti permessi:
- Accesso all'account MySQL
- Autorizzazioni di lettura/scrittura nel database MySQL
- Le seguenti autorizzazioni per ogni schema di destinazione interessato nella replica:
- ALTER
- CREATE
- CREATE TEMPORARY TABLES
- DELETE
- DROP
- INSERT
- SELECT
- UPDATE
Configurazione del driver
Questa sezione descrive come installare il driver richiesto. Il processo prevede l'esecuzione di uno script che scarica, installa e configura automaticamente il driver richiesto. È inoltre possibile eseguire script per aggiornare e disinstallare il driver secondo le necessità.
Preparazione dell'installazione
-
Assicurarsi che Python 3.6.x o versione successiva sia installato sul server del gateway di Data Movement.
Python è preinstallato nella maggior parte delle distribuzioni Linux. È possibile verificare quale versione di Python è installata sul sistema, eseguendo il seguente comando:
python3 --version
Installazione di driver
Per scaricare e installare driver:
-
Sul computer gateway Data Movement, cambiare la directory di lavoro in:
opt/qlik/gateway/movement/drivers/bin
-
Eseguire il comando seguente:
Sintassi:
./install mysql
Se non è possibile scaricare driver (a causa di restrizioni di accesso o problemi tecnici), verrà visualizzato un messaggio con le istruzioni su dove scaricare il driver e copiarlo sul computer gateway Data Movement. Una volta completata l'operazione, eseguire nuovamente il comando install mysql.
Altrimenti, verrà visualizzato l'EULA del driver.
-
Effettuare una delle seguenti operazioni:
- Premere ripetutamente [Invio] per scorrere lentamente l'EULA.
- Premere ripetutamente la barra spaziatrice per scorrere rapidamente l'EULA.
- Premere q per uscire dal testo della licenza e visualizzare le opzioni di accettazione dell'EULA.
-
Effettuare una delle seguenti operazioni:
- Digitare "y" e premere [Invio] per accettare l'EULA e avviare l'installazione.
- Digitare "n" e premere [Invio] per rifiutare l'EULA e uscire dall'installazione.
-
Digitare "v" e premere [Invio] per visualizzare nuovamente l'EULA.
Il driver verrà installato.
Aggiornamento del driver
Eseguire il comando aggiorna se si desidera disinstallare le versioni precedenti del driver prima di installare il driver fornito.
Per scaricare e aggiornare driver:
-
Sul computer gateway Data Movement, cambiare la directory di lavoro in:
opt/qlik/gateway/movement/drivers/bin
-
Eseguire il comando seguente:
Sintassi:
./update mysql
Se non si riesce a scaricare il driver (a causa di restrizioni di accesso o problemi tecnici), verrà visualizzato un messaggio con le istruzioni su dove scaricare il driver e copiarlo sul computer gateway Data Movement. Una volta completata l'operazione, eseguire nuovamente il comando update mysql.
Altrimenti, verrà visualizzato l'EULA del driver.
-
Effettuare una delle seguenti operazioni:
- Premere ripetutamente [Invio] per scorrere lentamente l'EULA.
- Premere ripetutamente la barra spaziatrice per scorrere rapidamente l'EULA.
- Premere q per uscire dal testo della licenza e visualizzare le opzioni di accettazione dell'EULA.
-
Effettuare una delle seguenti operazioni:
- Digitare "y" e premere [Invio] per accettare l'EULA e avviare l'installazione.
- Digitare "n" e premere [Invio] per rifiutare l'EULA e uscire dall'installazione.
- Digitare "v" e premere [Invio] per rivedere l'EULA dall'inizio.
Il vecchio driver verrà disinstallato e il nuovo driver verrà installato.
Disinstallazione del driver
Eseguire il comando di disinstallazione se si desidera disinstallare il driver.
Per disinstallare il driver:
-
interrompere tutte le attività configurate per utilizzare il connettore.
-
Sul computer gateway Data Movement, cambiare la directory di lavoro in:
opt/qlik/gateway/movement/drivers/bin
-
Eseguire il comando seguente:
Sintassi:
./uninstall mysql
Il driver verrà disinstallato.
Installazione manuale del driver
Si consiglia di tentare l'installazione manuale di driver nel caso in cui l'installazione automatizzata non venissa completata.
Dopo aver installato Gateway di Data Movement, scaricare il driver mysql-connector-odbc-<version>.x86_64.rpm. È possibile trovare un collegamento di download diretto alla versione supportata in binary-artifacts in /opt/qlik/gateway/movement/drivers/manifests/mysql.yaml. Una volta completato il download, copiare il file RPM nel computer Gateway di Data Movement.
Quindi, sul server di gateway di Data Movement, aprire un prompt della shell e procedere come segue:
-
Arrestare il servizio gateway di Data Movement:
sudo systemctl stop repagent
-
Facoltativamente, confermare che il servizio è stato interrotto:
sudo systemctl status repagent
Lo stato dovrebbe essere il seguente:
Active: inactive (dead) since <timestamp> ago
- Installare il driver sulla macchina gateway di Data Movement.
-
Modifica la directory di lavoro in <gateway di Data Movement_Install_Dir>/bin.
-
Copia la posizione del driver nel file site_arep_login.sh:
echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/lib64" >> site_arep_login.sh
Questo aggiungerà il driver a "LD_LIBRARY_PATH" e aggiornerà la sua posizione nel file site_arep_login.sh.
-
Facoltativamente, conferma che la posizione del driver è stata copiata:
cat site_arep_login.sh
-
Assicurarsi che il file /etc/odbcinst.ini contenga una voce per MySQL, come nell'esempio seguente:
[MySQL ODBC 8.0 Unicode Driver]
Driver = /usr/lib64/libmyodbc8w.so
UsageCount = 1
-
Avviare il servizio gateway di Data Movement:
sudo systemctl start repagent
-
Facoltativamente, confermare che il servizio si è avviato:
sudo systemctl status repagent
Lo stato dovrebbe essere il seguente:
Active: active (running) since <timestamp> ago
Limiti e considerazioni
Le seguenti limitazioni si applicano quando si utilizza MySQL come una destinazione per la replica:
-
Quando si effettua la replica su un database MariaDB di destinazione, se il valore DATETIME è impostato su zero, è necessario definire una trasformazione che sostituisca DATETIME con valori validi. Ad esempio:
replace($datetime_column,'9999-12-31 23:59:59','2000-01-01 22:00:00')
Nota informaticaQuesta limitazione non si applica al database Microsoft Azure per MySQL. - Dovuto al modo di operare di MySQL, quando si caricano i dati su una destinazione MySQL durante un'attività di caricamento completo, gli errori chiave duplicati non verranno segnalati nei registri.
-
Quando si aggiorna il valore di una colonna al valore esistente, le righe zero interessate vengono restituite da MySQL (a differenza di Oracle e Microsoft SQL Server, che eseguono l'aggiornamento di una riga).
Viene quindi generata una voce in attrep_apply_exceptions Control Table con il seguente avviso:
Some changes from the source database had no impact when applied to the target database. See attrep_apply_exceptions table for details.
-
A causa di un problema con MySQL 5.7 (risolto nella versione 8.0), i caratteri multibyte non possono essere inseriti nelle colonne TEXT quando il caricamento completo utilizza file CSV. Di conseguenza, se l'endpoint di destinazione è MySQL 5.7 e una tabella replicata contiene colonne TEXT con caratteri UTF-8 multibyte, la tabella di destinazione potrebbe essere vuota.
Soluzione:
Nelle impostazioni del connettore, impostare il parametro interno loadUsingCSV su FALSE. Notare che questa operazione può avere un impatto sulle prestazioni.
-
Se si desidera replicare dei caratteri emoji da 4 byte, il set di caratteri schema di destinazione deve essere impostato su utf8mb4.
Tipi di dati
La informazioni relative tipo di dati nativo vengono mantenute e vengono visualizzate nella colonna Tipo di dati nativo nelle visualizzazioni del set di dati. Se la colonna non è visibile, è necessario aprire lo strumento di selezione delle colonne della visualizzazione del set di dati e selezionare la colonna Tipo di dati nativo.
Tipi di dati Qlik Cloud | Tipi di dati MySQL |
---|---|
BOOL |
BOOL |
BYTES |
Se la lunghezza è => 1 e =< 8095, allora: VARBINARY (Length) Se la lunghezza è => 8096 e =< 65535, allora: BLOB Se la lunghezza è => 65536 e =< 16777215, allora: MEDIUMBLOB Se la lunghezza => 16777216 e =< 2147483647, allora: LONGBLOB |
DATE |
DATE |
TIME |
TIME |
DATETIME |
If scale is => 0 and =< 6, then: DECIMAL (p,s) If scale is => 7 and =< 12, then: VARCHAR (37) |
INT1 |
TINYINT |
INT2 |
SMALLINT |
INT4 |
INTEGER |
INT8 |
BIGINT |
NUMERIC |
Se la scala è => 0 e =< 37, allora: DECIMAL (p,s) Se la scala è => 31 e =< 100, allora: VARCHAR (45) |
REAL4 |
FLOAT |
REAL8 |
DOUBLE |
STRING |
Se la lunghezza è => 1 e =< 8095, allora: VARCHAR (Length) Se la lunghezza è => 8096 e =< 65535, allora: TEXT Se la lunghezza è => 65536 e =< 16777215, allora: MEDIUMTEXT Se la lunghezza => 16777216 e =< 2147483647, allora: LONGTEXT |
UINT1 |
UNSIGNED TINYINT |
UINT2 |
UNSIGNED SMALLINT |
UINT4 |
UNSIGNED INTEGER |
UINT8 |
UNSIGNED BIGINT |
WSTRING |
Se la lunghezza è => 1 e =< 8095, allora: VARCHAR (Length) Se la lunghezza è => 8096 e =< 65535, allora: TEXT Se la lunghezza è => 65536 e =< 16777215, allora: MEDIUMTEXT Se la lunghezza => 16777216 e =< 2147483647, allora: LONGTEXT |
BLOB |
Quando l'opzione Consenti dimensioni LOB illimitate è abilitata:
Quando l'opzione Limita dimensione LOB a è abilitata:
Per ulteriori informazioni su come limitare la dimensione LOB, vedere Metadata. |
NCLOB |
Quando l'opzione Consenti dimensioni LOB illimitate è abilitata:
Quando l'opzione Limita dimensione LOB a è abilitata:
Per ulteriori informazioni su come limitare la dimensione LOB, vedere Metadata. |
CLOB |
Quando l'opzione Consenti dimensioni LOB illimitate è abilitata:
Quando l'opzione Limita dimensione LOB a è abilitata:
Per ulteriori informazioni su come limitare la dimensione LOB, vedere Metadata. |