Kopírování dat z MySQL pomocí služby Azure Data Factory nebo Synapse Analytics
PLATÍ PRO: Azure Data Factory Azure Synapse Analytics
Tip
Vyzkoušejte si službu Data Factory v Microsoft Fabric, řešení pro analýzy typu all-in-one pro podniky. Microsoft Fabric zahrnuje všechno od přesunu dat až po datové vědy, analýzy v reálném čase, business intelligence a vytváření sestav. Přečtěte si, jak začít používat novou zkušební verzi zdarma.
Tento článek popisuje, jak pomocí aktivity kopírování v kanálech Azure Data Factory a Synapse Analytics kopírovat data z databáze MySQL. Vychází z článku s přehledem aktivity kopírování, který představuje obecný přehled aktivity kopírování.
Poznámka:
Ke kopírování dat ze služby Azure Database for MySQL nebo do služby Azure Database for MySQL použijte specializovaný konektor Azure Database for MySQL.
Důležité
Konektor MySQL s využitím doporučené verze ovladače poskytuje vylepšenou nativní podporu MySQL. Pokud používáte konektor se starší verzí ovladače, upgradujte ho před 31. říjnem 2024. Podrobnosti o rozdílu mezi starší verzí a doporučenou verzí najdete v této části .
Podporované funkce
Tento konektor MySQL je podporovaný pro následující funkce:
Podporované funkce | IR |
---|---|
aktivita Copy (zdroj/-) | (1) (2) |
Aktivita Lookup | (1) (2) |
(1) Prostředí Azure Integration Runtime (2) Místní prostředí Integration Runtime
Seznam úložišť dat podporovaných jako zdroje nebo jímky aktivitou kopírování najdete v tabulce Podporované úložiště dat.
Tento konektor podporuje MySQL verze 5.5, 5.6, 5.7, 8.0, 8.1 a 8.2 v rámci doporučené nové verze ovladače verze 2 a 5.6, 5.7 a 8.0 pro starší verzi ovladače.
Požadavky
Pokud se vaše úložiště dat nachází uvnitř místní sítě, virtuální sítě Azure nebo amazonového privátního cloudu, musíte nakonfigurovat místní prostředí Integration Runtime pro připojení k němu.
Pokud je vaše úložiště dat spravovanou cloudovou datovou službou, můžete použít Azure Integration Runtime. Pokud je přístup omezený na IP adresy schválené v pravidlech brány firewall, můžete do seznamu povolených přidat IP adresy prostředí Azure Integration Runtime.
K přístupu k místní síti bez nutnosti instalace a konfigurace místního prostředí Integration Runtime můžete také použít funkci Runtime integrace spravované virtuální sítě ve službě Azure Data Factory.
Další informace o mechanismech zabezpečení sítě a možnostech podporovaných službou Data Factory najdete v tématu Strategie přístupu k datům.
Prostředí Integration Runtime poskytuje integrovaný ovladač MySQL od verze 3.7, takže nemusíte ručně instalovat žádný ovladač.
Začínáme
K provedení aktivita Copy s kanálem můžete použít jeden z následujících nástrojů nebo sad SDK:
- Nástroj pro kopírování dat
- Azure Portal
- Sada .NET SDK
- Sada Python SDK
- Azure PowerShell
- Rozhraní REST API
- Šablona Azure Resource Manageru
Vytvoření propojené služby s MySQL pomocí uživatelského rozhraní
Pomocí následujícího postupu vytvořte propojenou službu s MySQL v uživatelském rozhraní webu Azure Portal.
Přejděte na kartu Správa v pracovním prostoru Azure Data Factory nebo Synapse a vyberte Propojené služby a pak klikněte na Nový:
Vyhledejte MySQL a vyberte konektor MySQL.
Nakonfigurujte podrobnosti o službě, otestujte připojení a vytvořte novou propojenou službu.
Podrobnosti konfigurace konektoru
Následující části obsahují podrobnosti o vlastnostech, které slouží k definování entit služby Data Factory specifických pro konektor MySQL.
Vlastnosti propojené služby
Pokud používáte doporučenou verzi ovladače, jsou pro propojenou službu MySQL podporovány následující vlastnosti:
Vlastnost | Popis | Povinní účastníci |
---|---|---|
type | Vlastnost typu musí být nastavená na: MySql. | Ano |
driverVersion | Verze ovladače, když vyberete doporučenou verzi ovladače. Hodnota je v2. | Ano |
server | Název vašeho serveru MySQL. | Ano |
port | Číslo portu pro připojení k serveru MySQL. | No |
database | Název databáze MySQL. | Ano |
username | Vaše uživatelské jméno. | Ano |
Heslo | Heslo pro uživatelské jméno. Označte toto pole jako SecureString, abyste ho bezpečně uložili. Nebo můžete odkazovat na tajný klíč uložený ve službě Azure Key Vault. | Ano |
sslMode | Tato možnost určuje, jestli ovladač při připojování k MySQL používá šifrování TLS a ověřování. Např. SSLMode=<0/1/2/3/4> Možnosti: ZAKÁZÁNO (0) / PREFEROVÁNO (1) (Výchozí) / POVINNÉ (2) / VERIFY_CA (3) / VERIFY_IDENTITY (4) |
Ano |
useSystemTrustStore | Tato možnost určuje, jestli se má použít certifikát certifikační autority z úložiště důvěryhodnosti systému nebo ze zadaného souboru PEM. Např. UseSystemTrustStore=<0/1> Možnosti: Povoleno (1) / Zakázáno (0) (výchozí) |
No |
connectVia | Prostředí Integration Runtime , které se má použít pro připojení k úložišti dat. Další informace najdete v části Požadavky . Pokud není zadaný, použije výchozí prostředí Azure Integration Runtime. | No |
Příklad:
{
"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"
}
}
}
Příklad: Uložení hesla ve službě 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"
}
}
}
Pokud používáte starší verzi ovladače, podporují se následující vlastnosti:
Vlastnost | Popis | Povinní účastníci |
---|---|---|
type | Vlastnost typu musí být nastavená na: MySql. | Ano |
připojovací řetězec | Zadejte informace potřebné pro připojení k instanci Azure Database for MySQL. Můžete také zadat heslo do služby Azure Key Vault a vytáhnout password konfiguraci z připojovací řetězec. Další podrobnosti najdete v následujících ukázkách a ukládání přihlašovacích údajů ve službě Azure Key Vault . |
Ano |
connectVia | Prostředí Integration Runtime , které se má použít pro připojení k úložišti dat. Další informace najdete v části Požadavky . Pokud není zadaný, použije výchozí prostředí Azure Integration Runtime. | No |
Typický připojovací řetězec je Server=<server>;Port=<port>;Database=<database>;UID=<username>;PWD=<password>
. Další vlastnosti, které můžete nastavit pro váš případ:
Vlastnost | Popis | Povinní účastníci |
---|---|---|
sslMode | Tato možnost určuje, jestli ovladač při připojování k MySQL používá šifrování TLS a ověřování. Např. SSLMode=<0/1/2/3/4> Možnosti: ZAKÁZÁNO (0) / PREFEROVÁNO (1) (Výchozí) / POVINNÉ (2) / VERIFY_CA (3) / VERIFY_IDENTITY (4) |
Ano |
Certifikát SSL | Úplná cesta a název souboru .pem obsahujícího certifikát SSL použitý k prokázání identity klienta. Chcete-li zadat privátní klíč pro šifrování tohoto certifikátu před jeho odesláním na server, použijte SSLKey vlastnost. |
Ano, pokud používáte dvoucestné ověřování SSL. |
SslKey | Úplná cesta a název souboru obsahujícího privátní klíč používaný k šifrování certifikátu na straně klienta během dvoucestného ověřování SSL. | Ano, pokud používáte dvoucestné ověřování SSL. |
useSystemTrustStore | Tato možnost určuje, jestli se má použít certifikát certifikační autority z úložiště důvěryhodnosti systému nebo ze zadaného souboru PEM. Např. UseSystemTrustStore=<0/1> Možnosti: Povoleno (1) / Zakázáno (0) (výchozí) |
No |
Příklad:
{
"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"
}
}
}
Vlastnosti datové sady
Úplný seznam oddílů a vlastností dostupných pro definování datových sad najdete v článku o datových sadách . Tato část obsahuje seznam vlastností podporovaných datovou sadou MySQL.
Pokud chcete kopírovat data z MySQL, podporují se následující vlastnosti:
Vlastnost | Popis | Povinní účastníci |
---|---|---|
type | Vlastnost typu datové sady musí být nastavená na: MySqlTable. | Ano |
tableName | Název tabulky v databázi MySQL | Ne (pokud je zadán dotaz ve zdroji aktivity) |
Příklad
{
"name": "MySQLDataset",
"properties":
{
"type": "MySqlTable",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<MySQL linked service name>",
"type": "LinkedServiceReference"
}
}
}
Pokud jste používali RelationalTable
zadaná datová sada, je stále podporovaná tak, jak je, zatímco se navrhuje, abyste mohli použít novou datovou sadu.
Vlastnosti aktivity kopírování
Úplný seznam oddílů a vlastností dostupných pro definování aktivit najdete v článku Pipelines . Tato část obsahuje seznam vlastností podporovaných zdrojem MySQL.
MySQL jako zdroj
Pokud chcete kopírovat data z MySQL, podporují se v části zdroje aktivity kopírování následující vlastnosti:
Vlastnost | Popis | Povinní účastníci |
---|---|---|
type | Vlastnost typu zdroje aktivity kopírování musí být nastavená na: MySqlSource. | Ano |
query | Ke čtení dat použijte vlastní dotaz SQL. Například: "SELECT * FROM MyTable" . |
Ne (pokud je v datové sadě zadán název tabulky) |
Příklad:
"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>"
}
}
}
]
Pokud jste používali RelationalSource
typovaný zdroj, je stále podporovaný tak, jak je, zatímco se navrhuje používat nový zdroj.
Mapování datových typů pro MySQL
Při kopírování dat z MySQL se z datových typů MySQL používají následující mapování k dočasným datovým typům používaným službou interně. Informace o tom, jak aktivita kopírování mapuje zdrojové schéma a datový typ na jímku, najdete v mapování schématu schématu a datového typu schématu schématu a datového typu.
Datový typ MySQL | Dočasný datový typ služby | Dočasný datový typ služby (pro starší verzi ovladače) |
---|---|---|
bigint |
Int64 |
Int64 |
bigint unsigned |
Decimal |
Decimal |
bit(1) |
UInt64 |
Boolean |
bit(M), M>1 |
UInt64 |
Byte[] |
blob |
Byte[] |
Byte[] |
bool |
Boolean (Pokud TreatTinyAsBoolean=false, je mapován jako SByte . TreatTinyAsBoolean je ve výchozím nastavení true ) |
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 ( tinyint(1) je mapován na Boolean ) |
Int16 |
tinyint unsigned |
Int16 |
Int16 |
tinytext |
String |
String |
varchar |
String |
String |
year |
Int |
Int |
Vlastnosti aktivity vyhledávání
Podrobnosti o vlastnostech najdete v aktivitě Vyhledávání.
Upgrade konektoru MySQL
Tady jsou kroky, které vám pomůžou s upgradem konektoru MySQL:
Na stránce Upravit propojenou službu vyberte Doporučené v části Verze ovladače a nakonfigurujte propojenou službu odkazem na vlastnosti propojené služby.
Mapování datových typů pro nejnovější propojenou službu MySQL se liší od mapování datového typu pro starší verzi. Informace o nejnovějším mapování datových typů najdete v tématu Mapování datových typů pro MySQL.
Nejnovější verze ovladače v2 podporuje více verzí MySQL. Další informace najdete v tématu Podporované možnosti.
Doporučená verze konektoru MySQL s osvědčenými postupy
Tato část představuje osvědčené postupy pro doporučenou verzi konektoru MySQL.
Nejde načíst klíč SSL
Příznaky: Pokud jako vlastnost připojení používáte doporučenou verzi konektoru MySQL s klíčem SSL, může se zobrazit následující chybová zpráva:
Could not load the client key from your_pem_file: Unrecognized PEM header: -----BEGIN PRIVATE KEY-----
Příčina: Doporučená verze nemůže dešifrovat formát PCKS#8.
Doporučení: Převeďte formát PEM na PCKS#1.
Rozdíly mezi doporučenou a starší verzí ovladače
Následující tabulka ukazuje rozdíly v mapování datových typů mezi MySQL s využitím doporučené a starší verze ovladače.
Datový typ MySQL | Dočasný datový typ služby (s použitím doporučené verze ovladače) | Dočasný datový typ služby (s použitím starší verze ovladače) |
---|---|---|
bit(1) | UInt64 | Logická hodnota |
bit(M), M>1 | UInt64 | Bajt[] |
bool | Logická hodnota | Int16 |
JSON | String | Bajt[] |
Související obsah
Seznam úložišť dat podporovaných jako zdroje a jímky aktivitou kopírování najdete v podporovaných úložištích dat.