Gå till huvudinnehåll Gå till ytterligare innehåll

MySQL

I det här delavsnittet beskrivs hur du konfigurerar anslutningen till ett MySQL-mål med MySQL-kopplingen. MySQL kan endast användas som måldatabas i en replikeringsuppgift. Innan du kan ansluta till ett MySQL-mål måste du konfigurera Behörigheter som krävs på databasen. Om du ansluter till MySQL via Gateway för dataflytt måste du även installera drivrutinen enligt beskrivning i Inställning av drivrutin.

Information om begränsningar och överväganden för användning av MySQL-kopplingen finns i Begränsningar och överväganden.

Ställa in anslutningsegenskaper

I det här avsnittet beskrivs de tillgängliga anslutningsegenskaperna. Alla egenskaper krävs om inget annat anges.

Datamål

  • Datagateway: Välj den Gateway för dataflytt som kommer att användas för att testa kopplingen till MySQL-målet. Detta ska vara samma gateway som användes för att komma åt datakällan.

    Anteckning om information
    • Gateway för dataflytt 2023.5.10 eller senare krävs.
    • Du måste också installera lämplig drivrutin på Gateway för dataflytt-maskinen. Information finns i Inställning av drivrutin nedan.

  • Molnleverantör: Välj en av följande som passar:

    • För MySQL lokalt, MariaDB, Amazon Aurora eller Microsoft Azure Database för MySQL – Flexible Server.

    • För Amazon RDS för MariaDB eller Amazon RDS för MySQL.

    • För Google Cloud SQL för MySQL.

    • För Microsoft Azure Database för MySQL.

  • Server: Värdnamnet eller IP-adressen för datorn som MySQL-databasen är installerad på.

  • Port: Port som ska användas vid anslutning till databasen. 3306 är standard.

Kontoegenskaper

User Name och Password: Användarnamnet och lösenordet för en användare som har behörighet att komma åt MySQL Server-databasen.

Databasegenskaper

  • Måldatabastyp: Välj ett av följande alternativ:
    • Specifik databas: När detta alternativ är markerat laddas alla källscheman till den angivna databasen.
    • Flera databaser: När detta alternativ är markerat kommer alla källscheman att laddas in i respektive databas. Som standard kommer dessutom alla kontrolltabeller att replikeras till ett nytt schema som heter attrep_control. Mer information om kontrolltabeller finns i Kontrolltabeller.
  • Maximal filstorlek (kB): Välj eller skriv den maximala storleken (i kB) för en CSV-fil innan den laddas in i MySQL-måldatabasen. Standardvärdet är 32 000 kB.
  • Parallella laddningstrådar: Att öka antalet trådar kan förbättra prestandan när data laddas in i MySQL-måldatabasen. Observera att om du anger ett stort antal trådar kan det påverka databasens prestanda negativt eftersom det krävs en separat koppling för varje tråd.

Interna egenskaper

Interna egenskaper är till för speciella användarfall och visas därför inte i dialogen. De ska bara användas om Qlik-supporten uppmanar dig att göra det.

Använd Skapa ny- och Avbryt-knapparna till höger om fälten för att lägga till och ta bort egenskaper efter behov.

Namn

Visningsnamnet för anslutningen.

Förutsättningar

Behörigheter som krävs

Den användare som anges i kopplingsinställningarna måste ges:

  • Åtkomst till MySQL-konto
  • Läs-/skrivbehörighet i MySQL-databasen
  • Följande behörigheter för varje målschema som ingår i replikeringen:
    • ALTER
    • CREATE
    • CREATE TEMPORARY TABLES
    • DELETE
    • DROP
    • Infoga:
    • – Välj –
    • Uppdatera

Inställning av drivrutin

I det här delavsnittet beskrivs hur driver som krävs installeras. Processen innebär att ett skript körs som automatiskt hämtar, installerar och konfigurerar den nödvändiga driver. Du kan också köra skript som uppdaterar och avinstallerar driver efter behov.

  • Kontrollera att Python 3.6 eller senare är installerad på Dataflytt-gatewayservern.

    Python kommer förinstallerad på de flesta Linuxdistributioner. Du kan kontrollera vilken Pythonversion som är installerad på ditt system genom att köra följande kommando:

    python3 --version

Så här hämtar och installerar du driver:

  1. Dataflytt-gatewaydatorn byter du arbetskatalog till:

    opt/qlik/gateway/movement/drivers/bin

  2. Kör följande kommando:

    Syntax:

    ./install mysql

    Om driver inte kan hämtas (på grund av åtkomstbegränsningar eller tekniska problem) visas ett meddelande som beskriver var du kan hämta driver och vart du ska kopiera den på Dataflytt-gatewaydatorn. När du har gjort detta kör du install mysql-kommandot igen.

    I annat fall visas EULA för driver.

  3. Gör ett av följande:

    • Tryck på [Enter] flera gånger för att långsamt rulla genom EULA.
    • Tryck på mellanslagstangenten flera gånger för att snabbt rulla genom EULA.
    • Tryck på q för att lämna avtalstexten. Godkännandealternativen för EULA visas.
  4. Gör något av följande:

    • Skriv in "y" och tryck på [Enter] för att godkänna EULA och börja med installationen.
    • Skriv in "n" och tryck på [Enter] för att avböja EULA och avsluta installationen.
    • Skriv in "v" och tryck på [Enter] för att visa EULA igen.

  5. driver kommer att installeras.

Kör uppdateringskommandot om du vill avinstallera tidigare versioner av driver innan du installerar den tillhandahållna driver.

Så här hämtar och uppdaterar du driver:

  1. Dataflytt-gatewaydatorn byter du arbetskatalog till:

    opt/qlik/gateway/movement/drivers/bin

  2. Kör följande kommando:

    Syntax:

    ./update mysql

    Om driver inte kan hämtas (på grund av åtkomstbegränsningar eller tekniska problem) visas ett meddelande som beskriver var du kan hämta driver och vart du ska kopiera den på Dataflytt-gatewaydatorn. När du har gjort detta kör du update mysql-kommandot igen.

    I annat fall visas EULA för driver.

  3. Gör ett av följande:

    • Tryck på [Enter] flera gånger för att långsamt rulla genom EULA.
    • Tryck på mellanslagstangenten flera gånger för att snabbt rulla genom EULA.
    • Tryck på q för att lämna avtalstexten. Godkännandealternativen för EULA visas.
  4. Gör något av följande:

    • Skriv in "y" och tryck på [Enter] för att godkänna EULA och börja med installationen.
    • Skriv in "n" och tryck på [Enter] för att avböja EULA och avsluta installationen.
    • Skriv in "v" och tryck på [Enter] för att granska EULA från början.
  5. Den gamla driver avinstalleras och den nya driver installeras.

Kör avinstalleringskommandot om du vill avinstallera driver.

Så här avinstallerar du driver:

  1. Stoppa alla uppgifter som är konfigurerade för att använda denna koppling.

  2. Dataflytt-gatewaydatorn byter du arbetskatalog till:

    opt/qlik/gateway/movement/drivers/bin

  3. Kör följande kommando:

    -syntax

    ./uninstall mysql

    driver kommer att avinstalleras.

Installera drivrutinen manuellt

Du bör bara försöka installera driver manuellt om den automatiserade drivrutinsinstallationen inte slutfördes.

När Gateway för dataflytt har installerats hämtar du drivrutinen mysql-connector-odbc-<version>.x86_64.rpm. Du hittar en direkt nedladdningslänk till den version som stöds i binary-artifacts i /opt/qlik/gateway/movement/drivers/manifests/mysql.yaml. När hämtningen har slutförts kopierar du RPM-filen till Gateway för dataflytt-maskinen.

Öppna en kommandorad på Data Movement gateway-servern och gör följande:

  1. Stoppa tjänsten Data Movement gateway:

    sudo systemctl stop repagent

  2. Om du vill kan du bekräfta att tjänsten har stoppats:

    sudo systemctl status repagent

    Statusen ska vara enligt följande:

    Active: inactive (dead) since <timestamp> ago

  3. Installera drivrutinen på Data Movement gateway-maskinen.
  4. Ändra arbetskatalogen till <Data Movement gateway-Install-Dir>/bin.

  5. Kopiera drivrutinens plats till site_arep_login.sh-filen:

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

    Detta kommer att lägga till drivrutinen i "LD_LIBRARY_PATH" och uppdatera drivrutinsplatsen i filen site_arep_login.sh.

  6. Bekräfta vid behov att drivrutinens plats har kopierats:

    cat site_arep_login.sh
  7. Kontrollera att filen /etc/odbcinst.ini innehåller en post för MySQL, som i det följande exemplet:

    [MySQL ODBC 8.0 Unicode Driver]

    Driver = /usr/lib64/libmyodbc8w.so

    UsageCount = 1

  8. Starta Data Movement gateway-tjänsten.

    sudo systemctl start repagent

  9. Om du vill kan du bekräfta att tjänsten har startats:

    sudo systemctl status repagent

    Statusen ska vara enligt följande:

    Active: active (running) since <timestamp> ago

Begränsningar och överväganden

Följande begränsningar gäller när MySQL används som replikeringsmål:

  • Vid replikering till MariaDB-måldatabasen, om DATETIME-värdet är inställt på noll, måste du definiera en transformation som ersätter DATETIME med giltiga värden. Exempel:

    replace($datetime_column,'9999-12-31 23:59:59','2000-01-01 22:00:00')

    Anteckning om informationDen här begränsningen gäller inte för Microsoft Azure Database for MySQL.
  • På grund av MySQL-arbetssättet vid laddning av data till ett MySQL-mål under en fullständig laddning-uppgift, rapporteras inte fel med duplicerade nycklar till loggarna.
  • Vid uppdatering av en kolumns värde till dess befintliga värde returneras noll rader som påverkas från MySQL (till skillnad från Oracle och Microsoft SQL Server som utför en uppdatering av en rad).

    Detta genererar en post i attrep_apply_exceptions Control Table och följande varningsmeddelande:

    Some changes from the source database had no impact when applied to the target database. See attrep_apply_exceptions table for details.

  • På grund av ett problem med MySQL 5.7 (som löstes i version 8.0) kan multibytetecken inte infogas i TEXT-kolumner när Fullständig laddning använder CSV-filer. Följaktligen, om målslutpunkten är MySQL 5.7 och en replikerad tabell innehåller TEXT-kolumner med UTF-8 multibytetecken, kan måltabellen vara tom.

     

    Kringgå detta:

    I -anslutningsinställningarna ställer du in den loadUsingCSVinterna parametern på FALSE. Observera att detta kan påverka prestandan.

  • Om du behöver replikera fyrabytes-emoji-tecken måste målschemats teckenuppsättning vara inställd på utf8mb4.

Datatyper

Information om inbyggd datatyp bevaras och visas i kolumnen Inbyggd datatyp i datauppsättningsvyer. Om kolumnen inte är synlig måste du öppna kolumnväljaren i datauppsättnignsvyn och välja kolumnen Inbyggd datatyp.

Datatyper som stöds
Qlik Cloud-datatyper MySQL-datatyper

BOOL

BOOL

BYTES

Om längden är => 1 och =< 8095, då:

VARBINARY (Length)

Om längden är => 8096 och =< 65535, då:

BLOB

Om längden är => 65536 och =< 16777215, då:

MEDIUMBLOB

Om längden är => 16777216 och =< 2147483647, då:

LONGBLOB

DATE

DATE

TIME

TIME

DATETIME

Om skala är => 0 och =< 6, då:

DECIMAL (p,s)

Om skala är => 7 och =< 12, då:

VARCHAR (37)

INT1

TINYINT

INT2

SMALLINT

INT4

INTEGER

INT8

BIGINT

NUMERIC

Om skalan är => 0 och =< 30, då:

DECIMAL (p,s)

Om skalan är => 31 och =< 100, då:

VARCHAR (45)

REAL4

FLOAT

REAL8

DOUBLE

STRING

Om längden är => 1 och =< 8095, då:

VARCHAR (Length)

Om längden är => 8096 och =< 65535, då:

TEXT

Om längden är => 65536 och =< 16777215, då:

MEDIUMTEXT

Om längden är => 16777216 och =< 2147483647, då:

LONGTEXT

UINT1

UNSIGNED TINYINT

UINT2

UNSIGNED SMALLINT

UINT4

UNSIGNED INTEGER

UINT8

UNSIGNED BIGINT

WSTRING

Om längden är => 1 och =< 8095, då:

VARCHAR (Length)

Om längden är => 8096 och =< 65535, då:

TEXT

Om längden är => 65536 och =< 16777215, då:

MEDIUMTEXT

Om längden är => 16777216 och =< 2147483647, då:

LONGTEXT

BLOB

När alternativet Tillåt obegränsad LOB-storlek är aktiverat:

  • LONGBLOB

När alternativet Begränsa LOB-storlek till är aktiverat:

  • Om det angivna värdet i är 63 kB eller mindre, då:

    BLOB

  • Om det angivna värdet är 64 kB eller större, då:

    LONGBLOB

Information om hur du begränsar LOB-storleken finns i Metadata.

NCLOB

När alternativet Tillåt obegränsad LOB-storlek är aktiverat:

  • TEXT

När alternativet Begränsa LOB-storlek till är aktiverat:

  • Om det angivna värdet är 63 kB eller mindre, då:

    TEXT

  • Om det angivna värdet är 64 kB eller större, då:

    LONGTEXT

Information om hur du begränsar LOB-storleken finns i Metadata.

CLOB

När alternativet Tillåt obegränsad LOB-storlek är aktiverat:

  • TECKENUPPSÄTTNING UTF-16

När alternativet Begränsa LOB-storlek till är aktiverat:

  • Om det angivna värdet är 63 kB eller mindre, då:

    TECKENUPPSÄTTNING UTF-16

  • Om det angivna värdet är 64 kB eller större, då:

    LONGTEXT-TECKENUPPSÄTTNING UTF-16

Information om hur du begränsar LOB-storleken finns i Metadata.

Var den här sidan till hjälp för dig?

Om du hittar några fel på denna sida eller i innehållet – ett stavfel, ett steg som saknas eller ett tekniskt fel – berätta för oss så att vi kan blir bättre!