Azure Data Factory veya Synapse Analytics kullanarak MySQL'den veri kopyalama
UYGULANANLAR: Azure Data Factory Azure Synapse Analytics
İpucu
Kuruluşlar için hepsi bir arada analiz çözümü olan Microsoft Fabric'te Data Factory'yi deneyin. Microsoft Fabric , veri taşımadan veri bilimine, gerçek zamanlı analize, iş zekasına ve raporlamaya kadar her şeyi kapsar. Yeni bir deneme sürümünü ücretsiz olarak başlatmayı öğrenin!
Bu makalede, MySQL veritabanından veri kopyalamak için Azure Data Factory ve Synapse Analytics işlem hatlarında Kopyalama Etkinliğinin nasıl kullanılacağı açıklanmaktadır. Kopyalama etkinliğine genel bir genel bakış sunan kopyalama etkinliğine genel bakış makalesini oluşturur.
Not
MySQL için Azure Veritabanı hizmetinden veya hizmetinden veri kopyalamak için özelleştirilmiş MySQL için Azure Veritabanı bağlayıcısını kullanın.
Önemli
Önerilen sürücü sürümünü kullanan MySQL bağlayıcısı, geliştirilmiş yerel MySQL desteği sağlar. Eski sürücü sürümüyle kullanıyorsanız lütfen 31 Ekim 2024'e kadar sürücü sürümünüzü yükseltin. Eski ve önerilen sürüm arasındaki fark hakkında ayrıntılı bilgi için bu bölüme bakın.
Desteklenen özellikler
Bu MySQL bağlayıcısı aşağıdaki özellikler için desteklenir:
Desteklenen özellikler | IR |
---|---|
Kopyalama etkinliği (kaynak/-) | (1) (2) |
Arama etkinliği | (1) (2) |
(1) Azure tümleştirme çalışma zamanı (2) Şirket içinde barındırılan tümleştirme çalışma zamanı
Kopyalama etkinliği tarafından kaynak/havuz olarak desteklenen veri depolarının listesi için Desteklenen veri depoları tablosuna bakın.
Bu bağlayıcı, eski sürücü sürümü için önerilen yeni sürücü sürümü v2 ve 5.6, 5.7 ve 8.0 altında MySQL sürüm 5.5, 5.6, 5.7, 8.0, 8.1 ve 8.2'yi destekler.
Önkoşullar
Veri deponuz bir şirket içi ağ, Azure sanal ağı veya Amazon Sanal Özel Bulut içinde bulunuyorsa, şirket içinde barındırılan tümleştirme çalışma zamanını buna bağlanmak için yapılandırmanız gerekir.
Veri deponuz yönetilen bir bulut veri hizmetiyse Azure Integration Runtime'ı kullanabilirsiniz. Erişim, güvenlik duvarı kurallarında onaylanan IP'ler ile sınırlıysa Azure Integration Runtime IP'lerini izin verme listesine ekleyebilirsiniz.
Şirket içinde barındırılan tümleştirme çalışma zamanı yüklemeden ve yapılandırmadan şirket içi ağa erişmek için Azure Data Factory'deki yönetilen sanal ağ tümleştirme çalışma zamanı özelliğini de kullanabilirsiniz.
Data Factory tarafından desteklenen ağ güvenlik mekanizmaları ve seçenekleri hakkında daha fazla bilgi için bkz . Veri erişim stratejileri.
Integration Runtime, 3.7 sürümünden başlayarak yerleşik bir MySQL sürücüsü sağlar, bu nedenle herhangi bir sürücüyü el ile yüklemeniz gerekmez.
Başlarken
İşlem hattıyla Kopyalama etkinliği gerçekleştirmek için aşağıdaki araçlardan veya SDK'lardan birini kullanabilirsiniz:
- Veri Kopyalama aracı
- Azure portal
- .NET SDK'sı
- Python SDK'sı
- Azure PowerShell
- The REST API
- Azure Resource Manager şablonu
Kullanıcı arabirimini kullanarak MySQL'e bağlı hizmet oluşturma
Azure portalı kullanıcı arabiriminde MySQL'e bağlı bir hizmet oluşturmak için aşağıdaki adımları kullanın.
Azure Data Factory veya Synapse çalışma alanınızda Yönet sekmesine göz atın ve Bağlı Hizmetler'i seçin, ardından Yeni'ye tıklayın:
MySQL'i arayın ve MySQL bağlayıcısını seçin.
Hizmet ayrıntılarını yapılandırın, bağlantıyı test edin ve yeni bağlı hizmeti oluşturun.
Bağlayıcı yapılandırma ayrıntıları
Aşağıdaki bölümlerde, MySQL bağlayıcısına özgü Data Factory varlıklarını tanımlamak için kullanılan özelliklerle ilgili ayrıntılar sağlanır.
Bağlı hizmet özellikleri
Önerilen sürücü sürümünü kullanırsanız, MySQL bağlı hizmeti için aşağıdaki özellikler desteklenir:
Özellik | Açıklama | Gerekli |
---|---|---|
Tür | Tür özelliği şu şekilde ayarlanmalıdır: MySql | Yes |
driverVersion | Önerilen sürücü sürümünü seçtiğinizde sürücü sürümü. Değer v2'dir. | Yes |
sunucu | MySQL Sunucunuzun adı. | Yes |
port | MySQL sunucusuna bağlanmak için bağlantı noktası numarası. | Hayır |
database | MySQL veritabanınızın adı. | Yes |
username | Kullanıcı adınız. | Yes |
password | Kullanıcı adının parolası. Güvenli bir şekilde depolamak için bu alanı SecureString olarak işaretleyin. İsterseniz Azure Key Vault'ta depolanan bir gizli diziye başvurabilirsiniz. | Yes |
sslMode | Bu seçenek, sürücünün MySQL'e bağlanırken TLS şifreleme ve doğrulama kullanıp kullanmadığını belirtir. Örneğin, SSLMode=<0/1/2/3/4> .Seçenekler: DEVRE DIŞI (0) / TERCIH EDİLEN (1) (Varsayılan) / GEREKLİ (2) / VERIFY_CA (3) / VERIFY_IDENTITY (4) |
Yes |
useSystemTrustStore | Bu seçenek, sistem güven deposundan veya belirli bir PEM dosyasından CA sertifikasının kullanılıp kullanılmayacağını belirtir. Örneğin; UseSystemTrustStore=<0/1> Seçenekler: Etkin (1) / Devre Dışı (0) (Varsayılan) |
Hayır |
connectVia | Veri deposuna bağlanmak için kullanılacak Integration Runtime. Önkoşullar bölümünden daha fazla bilgi edinin. Belirtilmezse, varsayılan Azure Integration Runtime'ı kullanır. | Hayır |
Örnek:
{
"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"
}
}
}
Örnek: Azure Key Vault'ta parola depolama
{
"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"
}
}
}
Eski sürücü sürümünü kullanıyorsanız aşağıdaki özellikler desteklenir:
Özellik | Açıklama | Gerekli |
---|---|---|
Tür | Tür özelliği şu şekilde ayarlanmalıdır: MySql | Yes |
connectionString | MySQL için Azure Veritabanı örneğine bağlanmak için gereken bilgileri belirtin. Ayrıca Azure Key Vault'a parola ekleyebilir ve yapılandırmayı password bağlantı dizesi çıkarabilirsiniz. Diğer ayrıntılarla birlikte aşağıdaki örneklere ve Azure Key Vault'ta kimlik bilgilerini depolama makalesine bakın. |
Yes |
connectVia | Veri deposuna bağlanmak için kullanılacak Integration Runtime. Önkoşullar bölümünden daha fazla bilgi edinin. Belirtilmezse, varsayılan Azure Integration Runtime'ı kullanır. | Hayır |
Tipik bir bağlantı dizesi.Server=<server>;Port=<port>;Database=<database>;UID=<username>;PWD=<password>
Servis talebinize göre ayarlayabileceğiniz diğer özellikler:
Özellik | Açıklama | Gerekli |
---|---|---|
sslMode | Bu seçenek, sürücünün MySQL'e bağlanırken TLS şifreleme ve doğrulama kullanıp kullanmadığını belirtir. Örneğin, SSLMode=<0/1/2/3/4> .Seçenekler: DEVRE DIŞI (0) / TERCIH EDİLEN (1) (Varsayılan) / GEREKLİ (2) / VERIFY_CA (3) / VERIFY_IDENTITY (4) |
Yes |
SSLCert | İstemcinin kimliğini kanıtlamak için kullanılan SSL sertifikasını içeren bir .pem dosyasının tam yolu ve adı. Bu sertifikayı sunucuya göndermeden önce şifrelemek üzere özel bir anahtar belirtmek için özelliğini kullanın SSLKey . |
Evet, iki yönlü SSL doğrulaması kullanıyorsanız. |
SSLKey | İki yönlü SSL doğrulaması sırasında istemci tarafı sertifikasını şifrelemek için kullanılan özel anahtarı içeren dosyanın tam yolu ve adı. | Evet, iki yönlü SSL doğrulaması kullanıyorsanız. |
useSystemTrustStore | Bu seçenek, sistem güven deposundan veya belirli bir PEM dosyasından CA sertifikasının kullanılıp kullanılmayacağını belirtir. Örneğin; UseSystemTrustStore=<0/1> Seçenekler: Etkin (1) / Devre Dışı (0) (Varsayılan) |
Hayır |
Örnek:
{
"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"
}
}
}
Veri kümesi özellikleri
Veri kümelerini tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için veri kümeleri makalesine bakın. Bu bölümde, MySQL veri kümesi tarafından desteklenen özelliklerin listesi sağlanır.
MySQL'den veri kopyalamak için aşağıdaki özellikler desteklenir:
Özellik | Açıklama | Gerekli |
---|---|---|
Tür | Veri kümesinin tür özelliği şu şekilde ayarlanmalıdır: MySqlTable | Yes |
tableName | MySQL veritabanındaki tablonun adı. | Hayır (etkinlik kaynağında "sorgu" belirtilirse) |
Örnek
{
"name": "MySQLDataset",
"properties":
{
"type": "MySqlTable",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<MySQL linked service name>",
"type": "LinkedServiceReference"
}
}
}
Yazılan veri kümesini kullanıyorsanız RelationalTable
, bu veri kümesi olduğu gibi desteklenirken, ileriye dönük yeni bir veri kümesini kullanmanız önerilir.
Kopyalama etkinliğinin özellikleri
Etkinlikleri tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için İşlem hatları makalesine bakın. Bu bölümde, MySQL kaynağı tarafından desteklenen özelliklerin listesi sağlanır.
Kaynak olarak MySQL
MySQL'den veri kopyalamak için kopyalama etkinliği kaynağı bölümünde aşağıdaki özellikler desteklenir:
Özellik | Açıklama | Gerekli |
---|---|---|
Tür | Kopyalama etkinliği kaynağının type özelliği şu şekilde ayarlanmalıdır: MySqlSource | Yes |
query | Verileri okumak için özel SQL sorgusunu kullanın. Örneğin: "SELECT * FROM MyTable" . |
Hayır (veri kümesinde "tableName" belirtilirse) |
Örnek:
"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>"
}
}
}
]
Yazılan kaynağı kullanıyorsanız RelationalSource
, yine de olduğu gibi desteklenir, ancak bundan sonra yenisini kullanmanız önerilir.
MySQL için veri türü eşlemesi
MySQL'den veri kopyalarken, MySQL veri türlerinden hizmet tarafından dahili olarak kullanılan ara veri türlerine aşağıdaki eşlemeler kullanılır. Kopyalama etkinliğinin kaynak şemayı ve veri türünü havuza nasıl eşlediğini öğrenmek için bkz . Şema ve veri türü eşlemeleri .
MySQL veri türü | Ara hizmet veri türü | Ara hizmet veri türü (eski sürücü sürümü için) |
---|---|---|
bigint |
Int64 |
Int64 |
bigint unsigned |
Decimal |
Decimal |
bit(1) |
UInt64 |
Boolean |
bit(M), M>1 |
UInt64 |
Byte[] |
blob |
Byte[] |
Byte[] |
bool |
Boolean (TreatTinyAsBoolean=false ise, olarak SByte eşlenir. TreatTinyAsBoolean varsayılan olarak true değeridir ) |
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 |
Arama etkinliği özellikleri
Özellikler hakkında ayrıntılı bilgi edinmek için Arama etkinliği'ne bakın.
MySQL sürücü sürümünü yükseltme
MySQL sürücü sürümünüzü yükseltmenize yardımcı olan adımlar şunlardır:
Bağlı hizmeti düzenle sayfasında, Sürücü sürümü altında Önerilen'i seçin ve Bağlı hizmet özellikleri'ne başvurarak bağlı hizmeti yapılandırın.
En son MySQL bağlı hizmeti için veri türü eşlemesi, eski sürümden farklıdır. En son veri türü eşlemesini öğrenmek için bkz . MySQL için veri türü eşlemesi.
En son sürücü sürümü v2 daha fazla MySQL sürümünü destekler. Daha fazla bilgi için bkz . Desteklenen özellikler.
Önerilen ve eski sürücü sürümü arasındaki farklar
Aşağıdaki tabloda, önerilen ve eski sürücü sürümü kullanılarak MySQL arasındaki veri türü eşleme farkları gösterilmektedir.
MySQL veri türü | Ara hizmet veri türü (önerilen sürücü sürümünü kullanarak) | Ara hizmet veri türü (eski sürücü sürümünü kullanarak) |
---|---|---|
bit(1) | UInt64 | Boolean |
bit(M), M>1 | UInt64 | Bayt[] |
ikili | Boolean | Int16 |
JSON | String | Bayt[] |
İlgili içerik
Kopyalama etkinliği tarafından kaynak ve havuz olarak desteklenen veri depolarının listesi için bkz . desteklenen veri depoları.