Menyalin data dari MySQL menggunakan Azure Data Factory atau Azure Synapse Analytics

BERLAKU UNTUK:Azure Data Factory Azure Synapse Analytics

Tip

Cobalah Data Factory di Microsoft Fabric, solusi analitik all-in-one untuk perusahaan. Microsoft Fabric mencakup semuanya mulai dari pergerakan data hingga ilmu data, analitik real time, kecerdasan bisnis, dan pelaporan. Pelajari cara memulai uji coba baru secara gratis!

Artikel ini menguraikan cara menggunakan Aktivitas Salin di alur Azure Data Factory atau Azure Synapse Analytics untuk menyalin data dari database MySQL. Artikel tersebut dibuat berdasarkan artikel gambaran umum aktivitas salin yang menyajikan gambaran umum aktivitas salin.

Catatan

Untuk menyalin data dari atau ke layanan Azure Database for MySQL, gunakan konektor Azure Database for MySQL khusus.

Kemampuan yang didukung

Konektor MySQL ini didukung untuk kemampuan berikut:

Kemampuan yang didukung IR
Aktivitas penyalinan (sumber/-) (1) (2)
Aktivitas pencarian (1) (2)

① Runtime integrasi Azure ② Runtime integrasi yang dihost sendiri

Untuk daftar penyimpanan data yang didukung sebagai sumber/sink oleh aktivitas salin, lihat tabel Penyimpanan data yang didukung.

Konektor ini mendukung MySQL versi 5.5, 5.6, 5.7, 8.0, 8.1 dan 8.2 di bawah versi driver baru yang direkomendasikan v2 dan 5.6, 5.7 dan 8.0 untuk versi driver warisan.

Prasyarat

Jika penyimpanan data Anda terletak di dalam jaringan lokal, jaringan virtual Azure, atau Amazon Virtual Private Cloud, Anda harus mengonfigurasi runtime integrasi yang dihosting sendiri untuk menghubungkannya.

Jika penyimpanan data Anda adalah layanan data cloud terkelola, Anda dapat menggunakan Azure Integration Runtime. Jika akses dibatasi untuk IP yang disetujui dalam aturan firewall, Anda dapat menambahkan IP Azure Integration Runtime ke daftar izinkan.

Anda juga dapat menggunakan fitur runtime integrasi jaringan virtual terkelola di Azure Data Factory untuk mengakses jaringan lokal tanpa menginstal dan mengonfigurasi runtime integrasi yang dihosting sendiri.

Untuk informasi selengkapnya tentang mekanisme dan opsi keamanan jaringan yang didukung oleh Data Factory, lihat Strategi akses data.

Integration Runtime menyediakan driver MySQL bawaan mulai dari versi 3.7, oleh karena itu Anda tidak perlu memasang driver apa pun secara manual.

Memulai

Untuk melakukan aktivitas Salin dengan alur, Anda dapat menggunakan salah satu alat atau SDK berikut:

Membuat layanan tertaut ke MySQL menggunakan UI

Gunakan langkah-langkah berikut untuk membuat layanan tertaut ke MySQL di UI portal Azure.

  1. Telusuri ke tab Kelola di ruang kerja Azure Data Factory atau Synapse Anda dan pilih Layanan Tertaut, lalu klik Baru:

  2. Cari MySQL dan pilih konektor MySQL.

    Pilih konektor MySQL.

  3. Konfigurasikan detail layanan, uji koneksi, dan buat layanan tertaut baru.

    Konfigurasikan layanan tertaut ke MySQL.

Detail konfigurasi konektor

Bagian berikut ini menyediakan detail tentang properti yang digunakan untuk menentukan entitas Data Factory khusus untuk konektor MySQL.

Properti layanan tertaut

Jika Anda menggunakan versi driver yang direkomendasikan, properti berikut ini didukung untuk layanan tertaut MySQL:

Properti Deskripsi Wajib
jenis Properti jenis harus diatur ke: MySql Ya
driverVersion Versi driver ketika Anda memilih versi driver yang direkomendasikan. Nilainya adalah v2. Ya
server Nama Server MySQL Anda. Ya
pelabuhan Nomor port untuk menyambungkan ke server MySQL. No
database Nama database MySQL Anda. Ya
Nama pengguna Nama pengguna Anda. Ya
kata sandi Kata sandi untuk nama pengguna. Tandai bidang ini sebagai SecureString untuk menyimpannya dengan aman. Atau, Anda dapat mereferensikan rahasia yang disimpan di Azure Key Vault. Ya
sslMode Opsi ini menentukan apakah driver menggunakan enkripsi dan verifikasi TLS saat menyambungkan ke MySQL. Misalnya, SSLMode=<0/1/2/3/4>.
Opsi: DINONAKTIFKAN (0) / PILIHAN (1) (Default) / DIPERLUKAN (2) / VERIFY_CA (3) / VERIFY_IDENTITY (4)
Ya
useSystemTrustStore Opsi ini menentukan apakah akan menggunakan sertifikat OS dari penyimpanan kepercayaan sistem atau dari file PEM tertentu. Misalnya; UseSystemTrustStore=<0/1>
Opsi: Diaktifkan (1) / Dinonaktifkan (0) (Default)
No
connectVia Runtime integrasi yang akan digunakan untuk menyambungkan ke penyimpanan data. Pelajari selengkapnya dari bagian Prasyarat. Jika tidak ditentukan, Azure Integration Runtime default akan digunakan. No

Contoh:

{
    "name": "MySQLLinkedService",
    "properties": {
        "type": "MySql",
        "typeProperties": {
             "server": "<server>",
             "port": 3306,
             "database": "<database>",
             "username": "<username>",
             "password": {
                "type": "SecureString",
                "value": "<password>"
             },
             "sslmode": <sslmode>,
             "usesystemtruststore": <UseSystemTrustStore>,
             "driverVersion": "v2"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Contoh: simpan kata sandi di Azure Key Vault

{
    "name": "MySQLLinkedService",
    "properties": {
        "type": "MySql",
        "typeProperties": {
            "server": "<server>",
            "port": 3306,
            "database": "<database>",
            "username": "<username>",
            "sslmode": <sslmode>,
            "usesystemtruststore": <UseSystemTrustStore>,
            "password": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<secretName>" 
            },
            "driverVersion": "v2"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Jika Anda menggunakan versi driver warisan, properti berikut ini didukung:

Properti Deskripsi Wajib
jenis Properti jenis harus diatur ke: MySql Ya
connectionString Tentukan informasi yang diperlukan untuk menyambung ke instans Azure Database for MySQL.
Anda juga dapat menyimpan kata sandi di Azure Key Vault dan mengeluarkan konfigurasi password dari string koneksi. Lihat sampel berikut dan artikel Menyimpan info masuk di Azure Key Vault untuk detail selengkapnya.
Ya
connectVia Runtime integrasi yang akan digunakan untuk menyambungkan ke penyimpanan data. Pelajari selengkapnya dari bagian Prasyarat. Jika tidak ditentukan, Azure Integration Runtime default akan digunakan. No

String koneksi biasanya adalah Server=<server>;Port=<port>;Database=<database>;UID=<username>;PWD=<password>. Properti lainnya yang dapat Anda tetapkan untuk kasus Anda:

Properti Deskripsi Wajib diisi
sslMode Opsi ini menentukan apakah driver menggunakan enkripsi dan verifikasi TLS saat menyambungkan ke MySQL. Misalnya, SSLMode=<0/1/2/3/4>.
Opsi: DINONAKTIFKAN (0) / PILIHAN (1) (Default) / DIPERLUKAN (2) / VERIFY_CA (3) / VERIFY_IDENTITY (4)
Ya
SSLCert Jalur lengkap dan nama file .pem yang berisi sertifikat SSL yang digunakan untuk membuktikan identitas klien.
Untuk menentukan kunci privat untuk mengenkripsi sertifikat ini sebelum mengirimnya ke server, gunakan properti SSLKey tersebut.
Ya, jika menggunakan verifikasi SSL dua arah.
SSLKey Jalur lengkap dan nama file yang berisi kunci privat yang digunakan untuk mengenkripsi sertifikat pihak klien selama verifikasi SSL dua arah. Ya, jika menggunakan verifikasi SSL dua arah.
useSystemTrustStore Opsi ini menentukan apakah akan menggunakan sertifikat OS dari penyimpanan kepercayaan sistem atau dari file PEM tertentu. Misalnya; UseSystemTrustStore=<0/1>
Opsi: Diaktifkan (1) / Dinonaktifkan (0) (Default)
No

Contoh:

{
    "name": "MySQLLinkedService",
    "properties": {
        "type": "MySql",
        "typeProperties": {
            "connectionString": "Server=<server>;Port=<port>;Database=<database>;UID=<username>;PWD=<password>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Properti himpunan data

Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan himpunan data, lihat artikel himpunan data. Bagian ini menyediakan daftar properti yang didukung oleh himpunan data MySQL.

Untuk menyalin data dari MySQL, properti berikut didukung:

Properti Deskripsi Wajib
jenis Properti jenis himpunan data harus diatur ke: MySqlTable Ya
tableName Nama tabel dalam database MySQL. Tidak (jika "kueri" di sumber aktivitas ditentukan)

Contoh

{
    "name": "MySQLDataset",
    "properties":
    {
        "type": "MySqlTable",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<MySQL linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Jika Anda menggunakan himpunan data berjenis RelationalTable, himpunan data tersebut masih didukung apa adanya, sementara Anda disarankan untuk menggunakan yang baru ke depannya.

Properti aktivitas salin

Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan aktivitas, lihat artikel Alur. Bagian ini menyediakan daftar properti yang didukung oleh sumber MySQL.

MySQL sebagai sumber

Untuk menyalin data dari MySQL, properti berikut ini didukung di bagiansumber aktivitas salin:

Properti Deskripsi Wajib
jenis Properti jenis dari sumber aktivitas salin harus diatur ke: MySqlSource Ya
pertanyaan Gunakan kueri SQL kustom untuk membaca data. Misalnya: "SELECT * FROM MyTable". Tidak (jika "tableName" di himpunan data ditentukan)

Contoh:

"activities":[
    {
        "name": "CopyFromMySQL",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<MySQL input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "MySqlSource",
                "query": "SELECT * FROM MyTable"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Jika Anda menggunakan sumber berjenis RelationalSource, sumber ini masih didukung apa adanya, sementara Anda disarankan untuk menggunakan yang baru ke depannya.

Pemetaan jenis data untuk MySQL

Saat menyalin data dari MySQL, pemetaan berikut ini digunakan dari jenis data MySQL ke jenis data sementara yang digunakan oleh layanan internal. Lihat Pemetaan skema dan jenis data untuk mempelajari bagaimana aktivitas penyalinan memetakan skema sumber dan jenis data ke sink.

Jenis data MySQL Jenis data layanan sementara Jenis data layanan sementara (untuk versi driver warisan)
bigint Int64 Int64
bigint unsigned Decimal Decimal
bit(1) UInt64 Boolean
bit(M), M>1 UInt64 Byte[]
blob Byte[] Byte[]
bool Boolean
(Jika TreatTinyAsBoolean=false, maka akan dipetakan sebagai SByte. TreatTinyAsBoolean benar secara default )
Int16
char String String
date Datetime Datetime
datetime Datetime Datetime
decimal Decimal Decimal, String
double Double Double
double precision Double Double
enum String String
float Single Single
int Int32 Int32
int unsigned Int64 Int64
integer Int32 Int32
integer unsigned Int64 Int64
JSON String -
long varbinary Byte[] Byte[]
long varchar String String
longblob Byte[] Byte[]
longtext String String
mediumblob Byte[] Byte[]
mediumint Int32 Int32
mediumint unsigned Int64 Int64
mediumtext String String
numeric Decimal Decimal
real Double Double
set String String
smallint Int16 Int16
smallint unsigned Int32 Int32
text String String
time TimeSpan TimeSpan
timestamp Datetime Datetime
tinyblob Byte[] Byte[]
tinyint SByte Int16
tinyint unsigned Int16 Int16
tinytext String String
varchar String String
year Int Int

Properti aktivitas pencarian

Untuk mempelajari detail tentang properti, lihat Aktivitas pencarian.

Meningkatkan versi driver MySQL

Berikut adalah langkah-langkah yang membantu Anda meningkatkan versi driver MySQL Anda:

  1. Di halaman Edit layanan tertaut, pilih Direkomendasikan di bawah Versi driver dan konfigurasikan layanan tertaut dengan merujuk ke Properti layanan tertaut.

  2. Pemetaan jenis data untuk layanan tertaut MySQL terbaru berbeda dari yang untuk versi lama. Untuk mempelajari pemetaan jenis data terbaru, lihat Pemetaan jenis data untuk MySQL.

  3. Versi driver terbaru v2 mendukung lebih banyak versi MySQL. Untuk informasi selengkapnya, lihat Kemampuan yang didukung.

Tabel di bawah ini menunjukkan perbedaan pemetaan jenis data antara konektor MySQL menggunakan versi driver yang direkomendasikan dan menggunakan versi driver warisan.

Jenis data MySQL Jenis data layanan sementara (menggunakan versi driver yang direkomendasikan) Jenis data layanan sementara (menggunakan versi driver warisan)
bit(1) UInt64 Boolean
bit(M), M>1 UInt64 Byte[]
bool Boolean Int16
JSON String Byte[]

Untuk daftar penyimpanan data yang didukung sebagai sumber dan sink oleh aktivitas salin, lihat penyimpanan data yang didukung.