# Önkoşullar

Verileri yerleştirebilmeniz veya çoğaltabilmeniz için önce aşağıdaki önkoşulları yerine getirdiğinizden emin olun:

* Gerekli driver öğesini Veri Hareketi ağ geçidi sunucusuna yükleyin

  Bilgi notu

  Bu yalnızca Veri Hareketi ağ geçidi ile çalışmayı seçtiyseniz gereklidir. Veri Hareketi ağ geçidi avantajları ve ne zaman gerekli olduğu zaman hakkında bilgiler için bkz. [Qlik Data Gateway - Veri Hareketi](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/replication-gateway.htm).

  Unutmayın: Veri Hareketi ağ geçidi, Qlik Talend Cloud Başlangıç Kılavuzu aboneliğiyle kullanılamaz.

* Veri kaynağında gerekli izinleri verin

* Veri kaynağı bağlayıcısını yapılandırma

## Desteklenen sürümler

Aşağıdaki MySQL sürümleri desteklenmektedir:

* MySQL Community Sürümü
* MySQL Standard Sürümü
* MySQL Enterprise Sürümü
* MySQL Cluster Carrier Grade Sürümü

## Sürücü kurulumu

driver öğesini, sürücü yükleme yardımcı programını kullanarak (önerilir) veya manuel olarak yükleyebilirsiniz. Manuel yükleme, nadir görülen şekilde sürücü yükleme yardımcı programında bir sorunla karşılaşmanız durumunda denenmelidir.

### Sürücüyü yüklemek için sürücü yükleme yardımcı programı kullanma

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.

### Yüklemeyi hazırlama

* Python 3.6 veya daha yeni bir sürümünün Data Movement 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 uygulamasını yükleme

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

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

   driver yüklenir.

### driver öğesini güncelleme

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

   Eski driver kaldırılacak ve yeni driver yüklenecektir.

### driver öğesini kaldırma

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. Data Movement 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-&lt;version&gt;.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 &lt;timestamp&gt; ago

3. Sürücüyü Veri Hareketi ağ geçidi makinesine yükleyin.

4. &lt;Veri Hareketi ağ geçidi-Yukleme-Dizini&gt;/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 &lt;timestamp&gt; ago

## Bağlantı noktası

Veri Hareketi ağ geçidi sunucusunda 3306 numaralı bağlantı noktasının giden iletişim için varsayılan olarak açılması gerekir. Bunu bağlayıcı ayarlarında değiştirebilirsiniz.

## Genel önkoşullar

Şu önkoşulların karşılandığından emin olun:

* [Gerekli izinler](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/SourcesConnections/MySQL/security-req-mysql-source.htm) ile bir MySQL hesabı.

* MySQL 8: Değişiklikleri yakalamak için standart kimlik doğrulaması

* Sertifikalı MySQL sürümleri zamansal veri türleri (MySQL 5.6'da çıkmıştır) için kesirli değerleri destekler. Bu nedenle eski zamansal veri türü formatı için moving işlemi artık desteklenmemektedir.

  Bilgi notuMySQL'i zamansal veri türleri için kesirli değeri destekleyen sürümlerine yükseltmenin zamansal veri türü formatını otomatik olarak *yükseltmediğini* unutmayın. Bunun ayrıca yapılması gerekir. Bu ayrıca MariaDB 10.1'dan yükseltme sırasında da geçerlidir. Zamansal veri türü formatını yükseltmeye yönelik talimatlar için satıcının çevrimiçi yardımına bakın.

## Müşteri tarafından yüklenmiş bir MySQL veritabanından değişiklik yakalama

Aşağıdaki bölümde bir şirket içi MySQL veritabanından değişiklik yakalamak için önkoşullar anlatılmaktadır.

### İkili günlüğü etkinleştir

İkili günlüğü (CDC moving için gereklidir) etkinleştirmek için MySQL programının `my.ini` (Windows) veya `my.cnf` (UNIX) dosyalarında aşağıdaki parametreler yapılandırılmalıdır.

İkili günlük parametreleri

| Parametre | Değer |
| --- | --- |
| server\_id | 1'den herhangi bir değer.<br><br>Örnek:<br><br>` server_id=1<br>` |
| log-bin=&lt;yol&gt; | İkili günlük dosyasının (uzantısız) yolu.<br><br>Örnek:<br><br>` log-bin=E:\MySql_Logs\BinLog<br>` |
| binlog\_format | Şu olmalıdır:<br><br>` binlog_format=row<br>` |
| binlog\_expire\_logs\_seconds | Disk alanı sorunlarını önlemek için varsayılan değerin (2592000) kullanılmaması özellikle önerilir.<br><br>Örnek (5 gün için):<br><br>` binlog_expire_logs_seconds=432000<br>` |
| binlog\_row\_image | Şu olmalıdır:<br><br>` binlog_row_image=full<br>` |

### Küme önkoşulları

Kümelenmiş (NDB) tablolarını Taşı (küme düğümlerinden herhangi birine bağlanarak) için MySQL programının my.ini (Windows) veya my.cnf (UNIX) dosyalarında aşağıdaki parametrelerin yapılandırılması gerekir.

Bilgi notu

Kaynak olarak Percona kullanırken bu bölümde anlatılan prosedürleri gerçekleştirmeye gerek yoktur.

Küme parametreleri

| Parametre | Değer |
| --- | --- |
| ndb\_log\_bin | Şu olmalıdır:<br><br>`ndb_log_bin=on`<br><br>Kümeye alınmış tablolardaki değişikliklerin ikili günlüğe kaydedilmesini sağlar. |
| ndb\_log\_update\_as\_write | Şu olmalıdır:<br><br>`ndb_log_update_as_write=OFF`<br><br>UPDATE işlemlerinin ikili günlüğe INSERT işlemleri olarak yazılmasını önler. |
| ndb\_log\_updated\_only | Şu olmalıdır:<br><br>`ndb_log_updated_only=OFF`<br><br>İkili günlüğün yalnızca değişen sütunları değil tüm satırı içermesini sağlar. |

## Google Cloud for MySQL'den değişiklik yakalama

#### İkili günlük

Değişiklikleri yakalamak için ikili günlük gereklidir İkili günlüğün etkin mi (varsayılan) olduğunu denetlemek için veritabanının `binlog_row_image` parametresinin `full`olarak ayarlandığından emin olun.

#### Çoğaltma

Çoğaltma işlemi, birincil veritabanı sunucusundan verilerin bir veya daha fazla ikincil sunucuya kopyalanmasına olanak tanır.

Veriler birincil veya ikincil bir sunucudan yerleştirilebilir.

İkincil bir sunucudan değişiklikleri yakalamak için ikili günlük parametresi `log_slave_updates` şu şekilde ayarlanmalıdır: ` true  `(`1`).

Başka kaynaklar: https://cloud.google.com/sql/docs/mysql/replication

## Amazon RDS for MySQL'dan ve Amazon Aurora for MySQL'dan değişiklik yakalama

#### İkili günlük

MySQL için Amazon RDS'yi veya CDC için MySQL için Amazon Aurora'yı ayarlama:

1. AWS Yardımı'ndaki yönergeleri izleyerek yeni bir Parametre Grubu oluşturun (İkili Günlük Biçimi bölümüne bakın).

2. Yeni Parametre Grubu'nu oluştururken şunu ayarlayın: `binlog_format=row`

3. Yeni Parametre Grubu'nu kaydedin.

4. Mevcut bir MySQL için Amazon RDS örneğiniz varsa örneği yukarıdaki 2. Adımda belirtilen parametreyi kullanacak şekilde düzenleyin. Yeni bir MySQL için Amazon RDS örneği sağlıyorsanız yukarıdaki 1. Adımda oluşurulan yeni Parametre Grubu'na referansta bulunun.

5. Son olarak, otomatik yedeklemenin etkinleştirildiğinden (varsayılan) emin olun.

Daha fazla bilgi: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER\_LogAccess.MySQL.BinaryFormat.html

#### Çoğaltma

Çoğaltma işlemi, birincil veritabanı sunucusundan verilerin bir veya daha fazla ikincil sunucuya kopyalanmasına olanak tanır.

Veriler birincil veya ikincil bir sunucudan yerleştirilebilir.

İkincil bir sunucudan değişiklikleri yakalamak için ikili günlük parametresi `log_slave_updates` şu şekilde ayarlanmalıdır: ` true  `(`1`).

Başka kaynaklar: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER\_MySQL.Replication.html

## Microsoft Azure database for MySQL'dan değişiklik yakalama

Değişiklikleri yakalamak için ikili günlük gereklidir İkili günlüğün etkin mi (varsayılan) olduğunu denetlemek için veritabanının `binlog_row_image` parametresinin `full`olarak ayarlandığından emin olun.