Tüm Ürünler
Search
Belge Merkezi

ApsaraMQ for Kafka:Create a MySQL source connector

Son Güncelleme:Oct 06, 2026

MySQL kaynak bağlayıcısı, ApsaraDB RDS for MySQL veritabanındaki satır düzeyindeki değişiklikleri ApsaraMQ for Kafka örneğinizdeki konularla senkronize eder. Bağlayıcı; INSERT, UPDATE ve DELETE işlemleri dahil olmak üzere değişen veri yakalama (CDC) olaylarını kaydetmek için DataWorks hizmetini kullanır ve bu olayları Kafka konularına iletir.

Çalışma mantığı

ApsaraMQ for Kafka konsolu üzerinden bir MySQL kaynak bağlayıcısı oluşturduğunuzda sistem aşağıdaki işlemleri otomatik olarak gerçekleştirir:

  1. DataWorks Basic Edition'ı (ücretsiz) etkinleştirir.

  2. Bir DataWorks çalışma alanı ve veri entegrasyonu için özel bir kaynak grubu oluşturur.

  3. Kafka örneğinizde hedef konular oluşturur; her kaynak tablo için bir konu oluşturulur.

Özel kaynak grubu (4 vCPU, 8 GB bellek), veri senkronizasyon görevlerini çalıştırır. Kaynak grupları aylık abonelik modeliyle sunulur ve süresi dolduğunda otomatik olarak yenilenir.

Önemli

Veri entegrasyonu için özel kaynak grupları ücretli hizmetlerdir. Fiyatlandırma ayrıntıları için bkz. Faturalandırmaya genel bakış.

mysql_connector

Konu adlandırma ve bölümler

DataWorks, aşağıdaki adlandırma desenini kullanarak her kaynak tablo için bir hedef konu oluşturur:

<topic-prefix>_<source-table-name>

Alt çizgi otomatik olarak eklenir. Örneğin, ön ek mysql ise ve kaynak tablolar table_1, table_2 ve table_n ise oluşturulan konular mysql_table_1, mysql_table_2 ve mysql_table_n olur.

table_topic_match

Bölüm sayısı, kaynak tablonun birincil anahtara sahip olup olmadığına bağlıdır:

Kaynak tablo türü Konu başına bölüm sayısı
Birincil anahtar var 6
Birincil anahtar yok 1

Kafka örneğinizde yeterli sayıda kullanılabilir konu ve bölüm bulunduğundan emin olun. Örneklerde konu veya bölüm kotası dolarsa konu oluşturma işlemi başarısız olur ve bağlayıcı dağıtılamaz.

Bölge ve ağ yapılandırması

Aynı bölge -- Hem RDS MySQL örneği hem de Kafka örneği aynı bölgede bulunuyorsa sistem, ilgili sanal özel cloud (VPC) içinde otomatik olarak bir esnek ağ arabirimi (ENI) oluşturur ve bunu özel kaynak grubunun Elastic Compute Service (ECS) örneğine bağlar. Manuel ağ kurulumu gerekmez.

Farklı bölgeler -- Örnekler farklı bölgelerde bulunuyorsa aşağıdaki koşulların sağlandığından emin olun:

  • Aynı Alibaba Cloud hesabı altında bir Cloud Enterprise Network (CEN) örneği mevcuttur.

  • Hem RDS MySQL örneğinin hem de Kafka örneğinin VPC'leri CEN örneğine eklenmiştir.

  • CEN örneği için bölge üstü bant genişliği yapılandırılmıştır.

Doğru CEN yapılandırması olmadan sistem otomatik olarak bir CEN örneği oluşturabilir ancak bant genişliği çok düşük olabilir. Bu durum, bağlayıcı oluşturma sırasında veya çalışma zamanında bağlantı hatalarına neden olabilir.

Özel kaynak grubu sınırlamaları

Sınır Değer
Kaynak grubu başına maksimum bağlayıcı sayısı 3
Kaynak grubu başına maksimum VPC ENI ilişkisi 2

Mevcut bir kaynak grubunda üçten az bağlayıcı varsa DataWorks yeni bağlayıcılar için bu grubu yeniden kullanır. Ancak CIDR bloğu çakışmaları veya diğer teknik kısıtlamalar yeniden kullanımı engellerse DataWorks bunun yerine yeni bir kaynak grubu oluşturur.

Ön koşullar

Başlamadan önce aşağıdaki koşulların sağlandığından emin olun:

Veritabanı hesabı izinleri

MySQL veritabanı hesabında en azından aşağıdaki izinler bulunmalıdır:

İzin Amaç
SELECT Kaynak tablolardan satırları okuma
REPLICATION SLAVE MySQL ikili günlüğüne bağlanma ve okuma
REPLICATION CLIENT İkili günlük durumunu sorgulama

Bu izinleri aşağıdaki ifadeyle verin:

GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO '<your-username>'@'%';

<your-username> ifadesini gerçek veritabanı hesabı kullanıcı adıyla değiştirin.

RAM kullanıcı izinleri

Alibaba Cloud hesabı yerine bir Resource Access Management (RAM) kullanıcısı kullanıyorsanız aşağıdaki ilkeleri RAM kullanıcısına ekleyin:

İlke Açıklama
AliyunDataWorksFullAccess Alibaba Cloud hesabı içindeki tüm DataWorks kaynaklarını yönetme
AliyunBSSOrderAccess Alibaba Cloud hizmetlerini satın alma

Talimatlar için bkz. RAM kullanıcılarına izin verme.

Bağlayıcıyı oluşturma ve dağıtma

  1. ApsaraMQ for Kafka konsoluna giriş yapın.

  2. Overview sayfasının Resource Distribution bölümünde örneğinizin bulunduğu bölgeyi seçin.

  3. Sol gezinme bölmesinde Connectors öğesine tıklayın.

  4. Connectors sayfasında Select Instance açılır listesinden örneğinizi seçin ve Create Connector düğmesine tıklayın.

  5. Üç adımlı sihirbazı tamamlayın:

    Step 1: Configure basic information

    Parametre Açıklama Örnek
    Name Örnek içinde benzersiz bir bağlayıcı adı. 1–48 karakter; rakamlar, küçük harfler ve tire (-) karakterlerine izin verilir. Tire ile başlayamaz. Sistem otomatik olarak connect-<connector-name> adlı bir tüketici grubu oluşturur. kafka-source-mysql
    Instance Seçilen Kafka örneğinin adını ve kimliğini görüntüler. demo alikafka_post-cn-st21p8vj****

    Step 2: Configure source service Kaynak hizmet olarak ApsaraDB RDS for MySQL seçeneğini belirleyin ve aşağıdaki parametreleri yapılandırın:

    Parametre Açıklama Örnek
    Region of ApsaraDB RDS for MySQL Instance Kaynak RDS MySQL örneğinin bulunduğu bölge. China (Shenzhen)
    ApsaraDB RDS for MySQL Instance ID Kaynak veritabanının örnek kimliği. rm-wz91w3vk6owmz****
    Database Name Senkronize edilecek veritabanının adı. mysql-to-kafka
    Database Account Veritabanı bağlantısı için kullanıcı adı. mysql_to_kafka
    Password of Database Account Veritabanı bağlantısı için parola. --
    Database Table Virgülle (,) ayrılmış bir veya daha fazla tablo adı. Her tablo bir konuyla eşleşir. mysql_tbl
    Tables to Automatically Add Yeni tabloları otomatik olarak algılayıp senkronize etmek için kullanılan normal ifade. Tüm tablolar için .* kullanın. .*
    Topic Prefix Otomatik oluşturulan konu adları için ön ek. Genel olarak benzersiz olmalıdır. mysql

    Step 3: Configure destination service Hedef Kafka örneğini onaylayın ve Create düğmesine tıklayın. Adımlar arasında ilerlemek için Next ve Next düğmelerine tıklayın.

  6. Connectors sayfasında bağlayıcıyı bulun ve Actions sütunundaki Deploy düğmesine tıklayın. Status sütununda Running durumu göründüğünde bağlayıcı etkin hale gelir ve verileri senkronize etmeye başlar.

Not

Bağlayıcı dağıtılamazsa tüm ön koşulların karşılandığını doğrulayın. Dağıtımdan sonra bağlayıcı ayarlarını değiştirmek için Actions sütunundaki

Task Configurations

öğesine tıklayarak DataWorks konsolunu açın.

Veri senkronizasyonunu doğrulama

  1. Kaynak tabloya bir test satırı ekleyin. Daha fazla SQL örneği için bkz. MySQL için sık kullanılan SQL deyimleri.

       INSERT INTO mysql_tbl
           (mysql_title, mysql_author, submission_date)
           VALUES
           ("mysql2kafka", "tester", NOW());
  2. ApsaraMQ for Kafka'daki mesaj sorgulama özelliğini kullanarak verilerin ilgili konuya ulaştığını onaylayın. Talimatlar için bkz. Mesajları sorgulama. Başarıyla senkronize edilen bir INSERT olayı aşağıdaki gibi görünür:

       {
           "schema": {
               "dataColumn": [
                   {
                       "name": "mysql_id",
                       "type": "LONG"
                   },
                   {
                       "name": "mysql_title",
                       "type": "STRING"
                   },
                   {
                       "name": "mysql_author",
                       "type": "STRING"
                   },
                   {
                       "name": "submission_date",
                       "type": "DATE"
                   }
               ],
               "primaryKey": [
                   "mysql_id"
               ],
               "source": {
                   "dbType": "MySQL",
                   "dbName": "mysql_to_kafka",
                   "tableName": "mysql_tbl"
               }
           },
           "payload": {
               "before": null,
               "after": {
                   "dataColumn": {
                       "mysql_title": "mysql2kafka",
                       "mysql_author": "tester",
                       "submission_date": 1614700800000
                   }
               },
               "sequenceId": "1614748790461000000",
               "timestamp": {
                   "eventTime": 1614748870000,
                   "systemTime": 1614748870925,
                   "checkpointTime": 1614748870000
               },
               "op": "INSERT",
               "ddl": null
           },
           "version": "0.0.1"
       }

Mesaj alanları

Alan Açıklama
schema.dataColumn Kaynak tablodaki sütun adları ve veri türleri
schema.primaryKey Kaynak tablonun birincil anahtar sütunları
schema.source Kaynak veritabanı türü, veritabanı adı ve tablo adı
payload.before Değişiklik öncesi satır durumu (INSERT işlemleri için null)
payload.after Değişiklik sonrası satır durumu (DELETE işlemleri için null)
payload.op İşlem türü: INSERT, UPDATE veya DELETE
payload.timestamp Olay, sistem ve kontrol noktası zaman damgaları

Tam mesaj biçimi özellikleri için bkz. Mesaj biçimleri.

Sonraki adımlar