Ana içeriğe geç Tamamlayıcı içeriğe geç

MySQL

Bu bölümde, MySQL Hedef bağlayıcısı kullanılarak bir MySQL hedefine bağlantının nasıl yapılandırılacağı açıklanmaktadır. MySQL sadece çoğaltma görevlerinde hedef veri tabanı olarak kullanılabilir. Bir MySQL hedefine bağlanmadan önce veritabanındaki Gerekli izinler öğesini yapılandırmanız gerekir. MySQL'e Veri Hareketi ağ geçidi üzerinden bağlanıyorsanız Sürücü kurulumu bölümünde açıklandığı gibi sürücüyü de yüklemeniz gerekir.

MySQL Hedef bağlayıcısını kullanırken dikkat edilmesi gereken hususlar ve sınırlamalar hakkında bilgi için bkz. Sınırlamalar ve dikkate alınacak noktalar.

Bağlantı özelliklerini ayarlama

Bu bölümde kullanılabilen bağlantı özellikleri anlatılmaktadır. Tüm özellikler, aksi belirtilmedikçe gereklidir.

Veri hedefi

  • Veri ağ geçidi: MySQL hedefine bağlantıyı test etmek için kullanılacak Veri Hareketi ağ geçidi öğesini seçin. Bu, veri kaynağına erişmek için kullanılan ağ geçidiyle aynı olmalıdır.

    Bilgi notu
    • Veri Hareketi ağ geçidi 2023.5.10 veya üstünü gerektirir.
    • Veri Hareketi ağ geçidi makinesine de uygun sürücüyü yüklemeniz gerekir. Ayrıntılar için aşağıdaki Sürücü kurulumu öğesine bakın.

  • Bulut sağlayıcı: Aşağıdakilerden uygun olan birini seçin:

    • Şirket içi MySQL, MariaDB, Amazon Aurora veya Microsoft Azure Database for MySQL - Flexible Server için.

    • Amazon RDS for MariaDB veya Amazon RDS for MySQL için.

    • Google Cloud SQL for MySQL için.

    • Microsoft Azure Database for MySQL için.

  • Sunucu: MySQL veritabanının yüklü olduğu bilgisayarın IP adresi veya ana bilgisayar adı.

  • Bağlantı noktası: Veri tabanına bağlanırken kullanılacak bağlantı noktası. Varsayılan: 3306.

Hesap özellikleri

Kullanıcı Adı ve Parola: MySQL Server veritabanına erişim yetkisi olan bir kullanıcının kullanıcı adı ve parolası.

Veritabanı özellikleri

  • Hedef Veri Türü: Aşağıdakilerden birini seçin:
    • Belirli bir veri tabanı: Bu seçenek belirlendiğinde tüm kaynak şemaları belirtilen Veri tabanı'na yüklenecektir.
    • Birden fazla veri tabanı: Bu seçenek belirlendiğinde kaynak şemalarının her biri ilgili veri tabanına yüklenecektir. Ayrıca varsayılan olarak tüm Kontrol Tabloları, attrep_control adlı yeni bir şemaya çoğaltılacaktır. Kontrol Tabloları hakkında daha fazla bilgi için bkz. Kontrol Tabloları.
  • Maks. dosya boyutu (KB): MySQL hedef veri tabanına yüklenmeden önce bir CSV dosyasının maksimum boyutunu (KB cinsinden) seçin veya yazın. Varsayılan değer 32000 KB'tır.
  • Paralel yükleme iş parçacıkları: İş parçacıklarının sayısının artırılması, verileri MySQL hedef veri tabanına yüklerken performansı iyileştirebilir. Her bir iş parçacığı ayrı bir bağlantı gerektirdiğinden yüksek sayıda iş parçacığı ayarlamak, veri tabanı performansı üzerinde olumsuz etkiye sahip olabilir.

Dahili özellikler

Dahili özellikler özel kullanım durumları içindir ve bu nedenle diyalog penceresinde gösterilmez. Bunları yalnızca Qlik Desteği tarafından talimat verildiği takdirde kullanmalısınız.

Gerektiği takdirde özellik eklemek veya kaldırmak için alanların sağındaki Yeni oluştur ve İptal düğmelerini kullanın.

Ad

Bağlantının görünen adı.

Önkoşullar

Gerekli izinler

Bağlayıcı ayarlarında belirtilen kullanıcıya şunların verilmesi gerekir:

  • MySQL hesabına erişim
  • MySQL veri tabanında yazma/okuma ayrıcalıkları
  • Çoğaltmaya dahil olan her bir hedef şema için aşağıdaki izinler:
    • ALTER
    • CREATE
    • CREATE TEMPORARY TABLES
    • DELETE
    • DROP
    • INSERT
    • SELECT
    • UPDATE

Sürücü kurulumu

Bu bölümde, gerekli driver öğesinin nasıl yükleneceği açıklanmıştır. Sürece, gerekli driver öğesini otomatik olarak indirecek, yükleyecek ve yapılandıracak bir komut dosyası çalıştırma işlemi dahildir. Gerektiğinde driver öğesini güncellemek ve kaldırmak için de komut dosyaları çalıştırabilirsiniz.

  • Python 3.6 veya daha yeni bir sürümünün Veri Hareketi ağ geçidi sunucusunda yüklü olduğundan emin olun.

    Python, çoğu Linux dağıtımında önceden yüklenmiş şekilde sunulur. Aşağıdaki komutu çalıştırarak sisteminizde yüklü olan Python sürümünü öğrenebilirsiniz:

    python3 --version

driver öğesini indirip yüklemek için:

  1. Veri Hareketi ağ geçidi makinesinde, çalışan dizini şu şekilde değiştirin:

    opt/qlik/gateway/movement/drivers/bin

  2. Şu komutu çalıştırın:

    Söz Dizimi:

    ./install mysql

    driver yüklenemiyorsa (erişim kısıtlamaları veya teknik sorunlar nedeniyle) driver öğesini nereden indireceğiniz ve Veri Hareketi ağ geçidi makinesinde nereye kopyalayacağınız konusunda size talimat veren bir mesaj görünür. Bu işlemi yaptıktan sonra install mysql komutunu tekrar çalıştırın.

    Aksi durumda, driver öğesinin EULA'sı görünür.

  3. Şunlardan birini yapın:

    • EULA'da yavaşça gezinmek için [Enter] tuşuna tekrar tekrar basın.
    • EULA'da hızlı bir şekilde gezinmek için Boşluk tuşuna tekrar tekrar basın.
    • Lisans metninden çıkmak ve EULA kabul seçeneklerine ulaşmak için q tuşuna basın.
  4. Şunlardan birini yapın:

    • EULA'yı kabul etmek ve yükleme işlemini başlatmak için "y" yazıp [Enter] tuşuna basın.
    • EULA'yı reddetmek ve yükleme işleminden çıkmak için "n" yazıp [Enter] tuşuna basın.
    • EULA'yı tekrar görüntülemek için "v" yazıp [Enter] tuşuna basın.

  5. driver yüklenir.

Sağlanan driver öğesini yüklemeden önce driver öğesinin eski sürümlerini kaldırmak istiyorsanız güncelleme komutunu çalıştırın.

driver öğesini indirip güncellemek için:

  1. Veri Hareketi ağ geçidi makinesinde, çalışan dizini şu şekilde değiştirin:

    opt/qlik/gateway/movement/drivers/bin

  2. Şu komutu çalıştırın:

    Söz Dizimi:

    ./update mysql

    driver yüklenemiyorsa (erişim kısıtlamaları veya teknik sorunlar nedeniyle) driver öğesini nereden indireceğiniz ve Veri Hareketi ağ geçidi makinesinde nereye kopyalayacağınız konusunda size talimat veren bir mesaj görünür. Bu işlemi yaptıktan sonra update mysql komutunu tekrar çalıştırın.

    Aksi durumda, driver öğesinin EULA'sı görünür.

  3. Şunlardan birini yapın:

    • EULA'da yavaşça gezinmek için [Enter] tuşuna tekrar tekrar basın.
    • EULA'da hızlı bir şekilde gezinmek için Boşluk tuşuna tekrar tekrar basın.
    • Lisans metninden çıkmak ve EULA kabul seçeneklerine ulaşmak için q tuşuna basın.
  4. Şunlardan birini yapın:

    • EULA'yı kabul etmek ve yükleme işlemini başlatmak için "y" yazıp [Enter] tuşuna basın.
    • EULA'yı reddetmek ve yükleme işleminden çıkmak için "n" yazıp [Enter] tuşuna basın.
    • EULA'yı baştan incelemek için "v" yazıp [Enter] tuşuna basın.
  5. Eski driver kaldırılacak ve yeni driver yüklenecektir.

driver öğesini kaldırmak istiyorsanız kaldırma komutunu çalıştırın.

driver öğesini kaldırmak için:

  1. Bu bağlayıcıyı kullanmak için yapılandırılan tüm görevleri durdurun.

  2. Veri Hareketi ağ geçidi makinesinde, çalışan dizini şu şekilde değiştirin:

    opt/qlik/gateway/movement/drivers/bin

  3. Şu komutu çalıştırın:

    Söz Dizimi:

    ./uninstall mysql

    driver kaldırılacaktır.

Sürücüyü manuel olarak yükleme

driver öğesini manuel olarak yüklemeyi yalnızca otomatik sürücü yükleme başarıyla tamamlanmadığında denemelisiniz.

Veri Hareketi ağ geçidi yüklendikten sonra mysql-connector-odbc-<version>.x86_64.rpm sürücüsünü indirin. /opt/qlik/gateway/movement/drivers/manifests/mysql.yaml dizininde binary-artifacts altında desteklenen bir sürümün doğrudan indirme bağlantısını bulabilirsiniz. İndirme tamamlandığında RPM'yi Veri Hareketi ağ geçidi makinesine kopyalayın.

Veri Hareketi ağ geçidi sunucusunda bir kabuk istemi açıp şunu yapın:

  1. Veri Hareketi ağ geçidi hizmetini durdurun:

    sudo systemctl stop repagent

  2. İsteğe bağlı olarak hizmetin durduğunu doğrulayın:

    sudo systemctl status repagent

    Durum aşağıdaki gibi olmalıdır:

    Active: inactive (dead) since <timestamp> ago

  3. Sürücüyü Veri Hareketi ağ geçidi makinesine yükleyin.
  4. <Veri Hareketi ağ geçidi-Yukleme-Dizini>/bin dizinine geçin.

  5. Sürücü konumunu site_arep_login.sh dosyasına kopyalayın:

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

    Bu, sürücüyü "LD_LIBRARY_PATH" değişkenine ekler ve site_arep_login.sh dosyasında sürücü konumunu günceller.

  6. İsteğe bağlı olarak sürücü konumunun kopyalandığını doğrulayın:

    cat site_arep_login.sh
  7. /etc/odbcinst.ini dosyasının, aşağıdaki örnekteki gibi bir MySQL girişi içerdiğinden emin olun:

    [MySQL ODBC 8.0 Unicode Driver]

    Driver = /usr/lib64/libmyodbc8w.so

    UsageCount = 1

  8. Veri Hareketi ağ geçidi hizmetini başlatın:

    sudo systemctl start repagent

  9. İsteğe bağlı olarak hizmetin başladığını doğrulayın:

    sudo systemctl status repagent

    Durum aşağıdaki gibi olmalıdır:

    Active: active (running) since <timestamp> ago

Sınırlamalar ve dikkate alınacak noktalar

Çoğaltma hedefi olarak MySQL kullanılırken aşağıdaki kısıtlamalar uygulanır:

  • MariaDB hedef veri tabanına çoğaltırken DATETIME değeri sıfır olarak ayarlanırsa DATETIME değerinin yerine geçerli değerleri koyan bir dönüştürme tanımlamanız gerekir. Örneğin:

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

    Bilgi notuBu sınırlama MySQL için Microsoft Azure Veritabanı için geçerli değildir.
  • MySQL öğesinin çalışma şekli nedeniyle, Tam Yükleme görevi sırasında MySQL hedefine veri yüklerken temel hatalar günlüklere bildirilmeyecektir.
  • Bir sütunun değerini mevcut değeriyle güncellerken MySQL öğesinden etkilenen sıfır satırları döndürülür (bir satırı güncelleyen Oracle ve Microsoft SQL Server'ın aksine).

    Bu, attrep_apply_exceptions Control Table içinde bir giriş ve aşağıdaki uyarıyı oluşturur:

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

  • MySQL 5.7 ile ilgili (8.0 sürümünde çözülen) bir sorun nedeniyle, Tam Yükleme işlemi CSV dosyalarını kullanırken TEXT sütunlarına çok baytlı karakterler eklenemez. Sonuç olarak, hedef uç nokta MySQL 5.7 sürümüyse ve çoğaltılmış bir tabloda UTF-8 çok baytlı karakterleri içeren TEXT sütunları varsa hedef tablo boş olabilir.

     

    Geçici Çözüm:

    Bağlayıcı ayarları'nda loadUsingCSV dahili parametresini FALSE olarak ayarlayın. Bunun performansı etkileyebileceğini unutmayın.

  • 4 baytlık emoji karakterlerini çoğaltmanız gerekiyorsa hedef şema karakteri utf8mb4 olarak ayarlanmalıdır.

Veri türleri

Yerel veri türü bilgileri korunur ve veri kümesi görünümlerinde Yerel veri türü sütununda görüntülenir. Sütun görünür değilse veri kümesi görünümünün sütun seçicisini açmanız ve Yerel veri türü sütununu seçmeniz gerekir.

Desteklenen veri türleri
Qlik Cloud veri türleri MySQL veri türleri

BOOL

BOOL

BYTES

Uzunluk => 1 ve =< 8095 ise:

VARBINARY (Uzunluk)

Uzunluk => 8096 ve =< 65535 ise:

BLOB

Uzunluk => 65536 ve =< 16777215 ise:

MEDIUMBLOB

Uzunluk => 16777216 ve =< 2147483647 ise:

LONGBLOB

DATE

DATE

TIME

TIME

DATETIME

Ölçek => 0 ve =< 6 ise o zaman:

DECIMAL (p,s)

Ölçek => 7 ve =< 12 o zaman:

VARCHAR (37)

INT1

TINYINT

INT2

SMALLINT

INT4

INTEGER

INT8

BIGINT

NUMERIC

Ölçek => 0 ve =< 30 ise:

DECIMAL (p,s)

Ölçek => 31 ve =< 100 ise:

VARCHAR (45)

REAL4

FLOAT

REAL8

DOUBLE

STRING

Uzunluk => 1 ve =< 8095 ise:

VARCHAR (Uzunluk)

Uzunluk => 8096 ve =< 65535 ise:

TEXT

Uzunluk => 65536 ve =< 16777215 ise:

MEDIUMTEXT

Uzunluk => 16777216 ve =< 2147483647 ise:

LONGTEXT

UINT1

UNSIGNED TINYINT

UINT2

UNSIGNED SMALLINT

UINT4

UNSIGNED INTEGER

UINT8

UNSIGNED BIGINT

WSTRING

Uzunluk => 1 ve =< 8095 ise:

VARCHAR (Uzunluk)

Uzunluk => 8096 ve =< 65535 ise:

TEXT

Uzunluk => 65536 ve =< 16777215 ise:

MEDIUMTEXT

Uzunluk => 16777216 ve =< 2147483647 ise:

LONGTEXT

BLOB

Sınırsız LOB boyutuna izin ver seçeneği etkinleştirildiğinde:

  • LONGBLOB

LOB boyutu sınırı seçeneği etkinleştirildiğinde:

  • Belirtilen değer 63 KB veya daha küçükse:

    BLOB

  • Belirtilen değer 64 KB veya daha büyükse:

    LONGBLOB

LOB boyutunu sınırlama hakkında bilgi için bkz. Metadata.

NCLOB

Sınırsız LOB boyutuna izin ver seçeneği etkinleştirildiğinde:

  • TEXT

LOB boyutu sınırı seçeneği etkinleştirildiğinde:

  • Belirtilen değer 63 KB veya daha küçükse:

    TEXT

  • Belirtilen değer 64 KB veya daha büyükse:

    LONGTEXT

LOB boyutunu sınırlama hakkında bilgi için bkz. Metadata.

CLOB

Sınırsız LOB boyutuna izin ver seçeneği etkinleştirildiğinde:

  • TEXT CHARACTER SET UTF-16

LOB boyutu sınırı seçeneği etkinleştirildiğinde:

  • Belirtilen değer 63 KB veya daha küçükse:

    TEXT CHARACTER SET UTF-16

  • Belirtilen değer 64 KB veya daha büyükse:

    LONGTEXT CHARACTER SET UTF-16

LOB boyutunu sınırlama hakkında bilgi için bkz. Metadata.

Bu sayfa size yardımcı oldu mu?

Bu sayfa veya içeriği ile ilgili bir sorun; bir yazım hatası, eksik bir adım veya teknik bir hata bulursanız, bize bildirin, düzeltelim!