MySQL | Guida di Qlik Cloud
Vai al contenuto principale Passa a contenuto complementare

MySQL

Questo argomento spiega come configurare la connettività a un target MySQL utilizzando il connettore target MySQL. MySQL può essere utilizzato come database target solo in un'attività di replica. Prima di potersi connettere a un target MySQL, è necessario configurare le Autorizzazioni richieste sul database. Se ci si connette a MySQL tramite Gateway Data Movement, è inoltre necessario installare il driver come descritto in Configurazione del driver.

Per informazioni sulle limitazioni e considerazioni relative all'utilizzo del connettore MySQL , vedere Limitazioni e considerazioni.

Impostazione delle proprietà di connessione

Per configurare il connettore, procedere come segue:

  1. In Connessioni, fare clic su Crea connessione.

  2. Selezionare il connettore target MySQL e fornire le seguenti impostazioni:

Target dati

  • Gateway dati: Quando si lavora con Gateway Data Movement, selezionare il data gateway che verrà utilizzato per testare la connessione al target MySQL. Questo dovrebbe essere lo stesso gateway utilizzato per accedere alla sorgente dati.

    Nota informatica
    • Questo campo non è disponibile con l'abbonamento Avvio Qlik Talend Cloud poiché Gateway Data Movement non è supportato con questo livello di abbonamento.
    • È inoltre necessario installare il driver appropriato sulla macchina Gateway Data Movement. Per i dettagli, vedere Configurazione del driver di seguito.

  • Provider cloud: Scegliere una delle seguenti opzioni, a seconda dei casi:

      • Per MySQL on-premise, MariaDB, Amazon Aurora o Microsoft Azure Database for MySQL - Server flessibile.
      • Quando si lavora senza Gateway Data Movement
    • Per Amazon RDS for MariaDB o Amazon RDS for MySQL.

    • Per Google Cloud SQL for MySQL.

    • Per Microsoft Azure Database for MySQL.

  • Server: Il nome host o l'indirizzo IP del computer su cui è installato il database MySQL.

  • Porta: La porta da utilizzare per la connessione al database. Il valore predefinito è 3306.

Proprietà account

Nome utente e Password: Il nome utente e la password di un utente autorizzato ad accedere al database MySQL Server.

Proprietà database

  • Tipo di database target: Scegliere una delle seguenti opzioni:
    • Database specifico: Quando si seleziona questa opzione, tutti gli schemi di origine verranno caricati nel Database specificato.
    • Database multipli: Quando si seleziona questa opzione, ciascuno degli schemi di origine verrà caricato nel database corrispondente. Inoltre, per impostazione predefinita, tutte le tabelle di controllo verranno replicate in un nuovo schema chiamato attrep_control. Per ulteriori informazioni sulle tabelle di controllo, vedere Tabelle di controllo.
  • Dimensione massima file (KB): Selezionare o digitare la dimensione massima (in KB) di un file CSV prima che venga caricato nel database target MySQL. Il valore predefinito è 32000 KB.
  • Thread di caricamento parallelo: L'aumento del numero di thread potrebbe migliorare le prestazioni durante il caricamento dei dati nel database target MySQL. Si noti che l'impostazione di un numero elevato di thread potrebbe avere un effetto negativo sulle prestazioni del database, poiché è richiesta una connessione separata per ogni thread.

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 Crea nuovo e Annulla 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 deve essere concesso:

  • Accesso all'account MySQL
  • Privilegi di lettura/scrittura nel database MySQL
  • Le seguenti autorizzazioni per ogni schema target coinvolto 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à.

  • 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

Per scaricare e installare driver:

  1. Sul computer gateway Data Movement, cambiare la directory di lavoro in:

    opt/qlik/gateway/movement/drivers/bin

  2. 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.

  3. 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.
  4. 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.

  5. Il driver verrà installato.

Eseguire il comando aggiorna se si desidera disinstallare le versioni precedenti del driver prima di installare il driver fornito.

Per scaricare e aggiornare driver:

  1. Sul computer gateway Data Movement, cambiare la directory di lavoro in:

    opt/qlik/gateway/movement/drivers/bin

  2. 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.

  3. 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.
  4. 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.
  5. Il vecchio driver verrà disinstallato e il nuovo driver verrà installato.

Eseguire il comando di disinstallazione se si desidera disinstallare il driver.

Per disinstallare il driver:

  1. interrompere tutte le attività configurate per utilizzare il connettore.

  2. Sul computer gateway Data Movement, cambiare la directory di lavoro in:

    opt/qlik/gateway/movement/drivers/bin

  3. 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 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 Data Movement.

Quindi, sul server di gateway di Data Movement, aprire un prompt della shell e procedere come segue:

  1. Arrestare il servizio gateway di Data Movement:

    sudo systemctl stop repagent

  2. Facoltativamente, confermare che il servizio è stato interrotto:

    sudo systemctl status repagent

    Lo stato dovrebbe essere il seguente:

    Active: inactive (dead) since <timestamp> ago

  3. Installare il driver sulla macchina gateway di Data Movement.
  4. Modifica la directory di lavoro in <gateway di Data Movement_Install_Dir>/bin.

  5. 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.

  6. Facoltativamente, conferma che la posizione del driver è stata copiata:

    cat site_arep_login.sh
  7. 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

  8. Avviare il servizio gateway di Data Movement:

    sudo systemctl start repagent

  9. Facoltativamente, confermare che il servizio si è avviato:

    sudo systemctl status repagent

    Lo stato dovrebbe essere il seguente:

    Active: active (running) since <timestamp> ago

Limitazioni e considerazioni

Le seguenti limitazioni si applicano quando si utilizza MySQL come target di replica:

  • Quando si esegue la replica nel database di destinazione MariaDB, se il valore DATETIME è impostato su zero, è necessario definire una trasformazione che sostituisca il valore 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 a Microsoft Azure Database for MySQL.
  • A causa del modo in cui opera MySQL, durante il caricamento dei dati in una destinazione MySQL nel corso di un'attività di caricamento completo (Full Load), gli errori di chiave duplicata non verranno riportati nei log.
  • Quando si aggiorna il valore di una colonna con il suo valore esistente, MySQL restituisce zero righe interessate (a differenza di Oracle e Microsoft SQL Server che eseguono un aggiornamento di una riga).

    Ciò genera una voce nella attrep_apply_exceptions Control Table e 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.

  • Se è necessario replicare caratteri emoji a 4 byte, il set di caratteri dello schema di destinazione deve essere impostato su utf8mb4.

  • Quando una tabella di origine contiene un numero elevato di colonne, MySQL potrebbe restituire un errore Row size too large (> 8126) poiché 8126 byte è la dimensione massima predefinita della riga in MySQL. Quando si utilizzano origini di applicazione SaaS, questo errore si verifica in fase di esecuzione. Quando si utilizzano altri tipi di origine, come i database, l'errore si verifica durante la preparazione dell'attività. Per ovviare a questa limitazione, utilizzare uno dei seguenti approcci:

    • Approccio consigliato: Dopo l'acquisizione dei dati, rimuovere le colonne non necessarie nella destinazione. Per informazioni su come eseguire questa operazione, vedere Rimozione di colonne. Se l'errore persiste, rimuovere ulteriori colonne.

    • Mitigazione alternativa: Se è necessario includere tutte le colonne di origine nella tabella di destinazione, esistono alcune configurazioni del database MySQL che lo consentono. Una di queste consiste nell'aumentare la dimensione della pagina MySQL in modo che sia sufficientemente grande da contenere la dimensione della riga.

      Nota informaticaPer le origini con dimensioni di riga che superano il limite di 65.535 byte, è necessario convertire il campo di origine in un tipo di dati che supporti dimensioni di riga maggiori. Ciò è dovuto a una limitazione nota sulla dimensione massima dei record di riga. Per ulteriori informazioni, consultare la documentazione MySQL sui limiti delle dimensioni delle righe.

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 supportati
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:

  • LONGBLOB

Quando l'opzione Limita dimensione LOB a è abilitata:

  • Se il valore specificato è di 63 KB o inferiore, allora:

    BLOB

  • Se il valore specificato è di 64 KB o maggiore, allora:

    LONGBLOB

Per ulteriori informazioni su come limitare la dimensione LOB, vedere Metadata.

NCLOB

Quando l'opzione Consenti dimensioni LOB illimitate è abilitata:

  • TEXT

Quando l'opzione Limita dimensione LOB a è abilitata:

  • Se il valore specificato è di 63 KB o inferiore, allora:

    TEXT

  • Se il valore specificato è di 64 KB o maggiore, allora:

    LONGTEXT

Per ulteriori informazioni su come limitare la dimensione LOB, vedere Metadata.

CLOB

Quando l'opzione Consenti dimensioni LOB illimitate è abilitata:

  • TEXT CHARACTER SET UTF-16

Quando l'opzione Limita dimensione LOB a è abilitata:

  • Se il valore specificato è di 63 KB o inferiore, allora:

    TEXT CHARACTER SET UTF-16

  • Se il valore specificato è di 64 KB o maggiore, allora:

    LONGTEXT CHARACTER SET UTF-16

Per ulteriori informazioni su come limitare la dimensione LOB, vedere Metadata.

Hai trovato utile questa pagina?

Se riscontri problemi con questa pagina o con il suo contenuto – un errore di battitura, un passaggio mancante o un errore tecnico – ti pregiamo di farcelo sapere!