Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Poznámka:
Tento článek obsahuje odkazy na termín SLAVE, termín, který už Microsoft nepoužívá. Když se termín odebere ze softwaru, odebereme ho z tohoto článku.
V tomto článku se dozvíte, jak do eventstreamu přidat zdroj Change Data Capture MySQL. V současné době se databáze MySQL CDC podporuje z následujících služeb, ke které je možné přistupovat veřejně:
- Azure Database for MySQL
- Amazon RDS for MySQL
- Amazon Aurora MySQL
- Google Cloud SQL for MySQL (GCP)
Tento průvodce jako příklad používá Azure Database for MySQL CDC.
Jakmile se zdroj CDC databáze MySQL přidá do eventstreamu, zaznamená změny na úrovni řádků do zadaných tabulek. Tyto změny je pak možné zpracovat v reálném čase a odeslat je do různých cílů pro další analýzu.
Požadavky
- Přístup k pracovnímu prostoru v režimu kapacitní licence Fabric nebo ve zkušebním režimu licence s oprávněními Přispěvatele nebo vyššími.
- Přístup k instanci databáze MySQL, například k databázi na flexibilním serveru Azure Database for MySQL.
- Vaše databáze MySQL musí být veřejně přístupná a nesmí být za bránou firewall nebo zabezpečená ve virtuální síti.
- Pokud nemáte stream událostí, vytvořte stream událostí.
Nastavení databáze MySQL
Konektor používá konektor Debezium MySQL k zachycení změn ve vaší databázi MySQL. Musíte definovat uživatele MySQL s odpovídajícími oprávněními pro všechny databáze, ze kterých může konektor zasílání zpráv zachytit změny. Uživatele správce
Poznámka:
Nový účet uživatele nebo správce a odpovídající heslo se použijí k připojení k databázi později uvnitř eventstreamu.
Na příkazovém
mysqlřádku vytvořte uživatele MySQL:mysql> CREATE USER 'user'@'%' IDENTIFIED BY 'password';Uživateli udělte požadovaná oprávnění:
mysql> GRANT SELECT, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'user'@'%';Poznámka:
Pokud není dostupný globální zámek pro čtení, například v hostovaných možnostech, jako je Amazon RDS nebo Aurora, používají se zámky na úrovni tabulky k vytvoření konzistentního snímku. V takovém případě musíte uživateli udělit oprávnění
LOCK TABLES. Kromě toho může být potřeba udělit oprávněníFLUSHneboRELOAD, aby bylo možné podpořit operaceFLUSH_TABLESběhem snímku.Dokončete oprávnění uživatele:
mysql> FLUSH PRIVILEGES;
Pokud chcete ověřit, jestli má uživatel nebo správce udělená požadovaná oprávnění, spusťte tento příkaz a potom požadovaná oprávnění v kroku 2 by se měla zobrazit:
SHOW GRANTS FOR user;
Další informace o udělení požadovaných oprávnění uživateli najdete v tématu Debezium Connector for MySQL: Debezium Documentation.
Povolte binlog
Pro replikaci MySQL musíte povolit binární protokolování. Binární protokoly zaznamenávají aktualizace transakcí pro nástroje replikace pro šíření změn. Tato část používá azure Database for MySQL CDC jako příklad k zobrazení kroků konfigurace.
Na stránce webu Azure Portal pro váš účet Azure Database for MySQL vyberte parametryserveru v části Nastavení v levém navigačním panelu.
Na stránce Parametry serveru nakonfigurujte následující vlastnosti a pak vyberte Uložit.
Pro binlog_row_image zvolte full.
Pro binlog_expire_logs_seconds nastavte počet sekund, po které služba čeká, než se vyprázdní soubor binárního protokolu. Nastavte hodnotu tak, aby odpovídala potřebám vašeho prostředí, například 86400.
Přidání databáze MySQL (CDC) jako zdroje
Pokud jste ještě do streamu událostí nepřidali žádný zdroj, vyberte dlaždici Použít externí zdroj .
Pokud přidáváte zdroj do již publikovaného streamu událostí, přepněte do režimu úprav . Na pásu karet vyberte Přidat zdroj>Externí zdroje.
Na stránce Vybrat zdroj dat vyhledejte a vyberte Připojit na dlaždici MySQL DB (CDC).
Konfigurace a připojení k Databázi MySQL (CDC)
Na obrazovce Připojit v části Připojení vyberte Nové připojení a vytvořte cloudové připojení.
Zadejte následující Nastavení připojení a Přihlašovací údaje pro připojení pro vaši databázi MySQL a pak vyberte Připojit.
Server: adresa serveru vaší databáze MySQL, například my-mysql-server.mysql.database.azure.com.
Databáze: Název databáze, například my_database.
Název připojení: Automaticky vygenerováno nebo můžete zadat nový název tohoto připojení.
uživatelské jméno a heslo: Zadejte přihlašovací údaje pro vaši databázi MySQL. Ujistěte se, že jste zadali účet správce serveru nebo uživatelský účet vytvořený s požadovanými oprávněními.
Zadáním následujících informací nakonfigurujte zdroj dat CDC databáze MySQL a pak vyberte Další.
port: Výchozí hodnota je 3306. Pokud je vámi vybrané cloudové připojení nakonfigurované v Správa připojení a bran, ujistěte se, že číslo portu odpovídá tomu nastavenému. Pokud se neshodují, přednost bude mít číslo portu v cloudovém připojení v Správa připojení a bran.
tabulka: Vyberte Všechny tabulky nebo Zadejte název tabulky. Pokud vyberete druhou možnost, zadejte tabulky pomocí čárkami odděleného seznamu úplných identifikátorů tabulky (
databaseName.tableName) nebo platných regulárních výrazů. Například:- Pomocí
databaseName.test.*vyberte všechny tabulky, jejichž názvy začínajídatabaseName.test. - Pomocí
databaseName\.(test1|test2)vybertedatabaseName.test1adatabaseName.test2.
Oba formáty můžete kombinovat pomocí čárek. Celkový limit znaků pro celou položku je 102 400 znaků.
- Pomocí
ID serveru: Zadejte jedinečnou hodnotu pro každý server a klienta replikace v clusteru MySQL. Výchozí hodnota je 1000.
Poznámka:
Pro každou čtečku nastavte jiné ID serveru. Každý klient databáze MySQL pro čtení binlogu by měl mít jedinečné ID s názvem ID serveru. MySQL Server používá toto ID k údržbě síťového připojení a pozice binlogu. Různé úlohy sdílející stejné ID serveru můžou vést ke čtení z nesprávné pozice binlogu. Proto se doporučuje pro každou čtečce nastavit jiné ID serveru.
Pokud chcete získat přístup k dalším možnostem konfigurace zdroje CDC databáze MySQL, můžete rozbalit Rozšířená nastavení :
-
Režim uzamykání snímků: Možnosti:
-
Minimal (default): Uchovává globální zámek pro čtení pouze během počáteční fáze pro zachycení schématu a metadat. Zbytek snímku používá transakci REPEATABLE READ, která umožňuje aktualizace při čtení dat. -
Extended: Udržuje globální zámek čtení po celou dobu trvání snímku a blokuje všechny zápisy. Používá se pro úplnou konzistenci, pokud je blokování zápisu přijatelné. -
None: Přeskočí získání zámků tabulek během snímku. Bezpečné pouze v případě, že během procesu nedojde k žádným změnám schématu.
-
-
Režim zpracování desetinných míst: Určuje, jak spojnice zpracovává
DECIMALaNUMERIChodnoty sloupců:-
Precise: Představuje hodnoty používající přesné desetinné typy (například JavaBigDecimal) k zajištění úplné přesnosti a přesnosti v reprezentaci dat. -
Double: Převede hodnoty na čísla s dvojitou přesností. Tím se zlepší použitelnost a výkon, ale může dojít ke ztrátě přesnosti. -
String: Zakóduje hodnoty jako formátované řetězce. Díky tomu se snadno spotřebovávají v podřízených systémech, ale ztratí sémantické informace o původním číselném typu.
-
-
Režim snímku: Zadejte kritéria pro provedení snímku při spuštění konektoru:
-
Initial: Konektor spustí snímek pouze v případě, že nebyly zaznamenány žádné posuny pro název logického serveru nebo pokud zjistí, že se dřívější snímek nepodařilo dokončit. Po dokončení snímku konektor začne streamovat záznamy událostí pro následné změny databáze. -
InitialOnly: Konektor spustí snímek pouze tehdy, když pro logický název serveru nejsou zaznamenány žádné offsety. Po dokončení snímku se konektor zastaví. Nepřechází na streamování a čte události změn z binlogu. -
NoData: Konektor spustí snímek, který zachycuje pouze schéma, ale ne žádná data tabulky. Tuto možnost nastavte, pokud nepotřebujete konzistentní snímek dat, ale od spuštění konektoru potřebujete jenom změny, ke které dochází.
-
Můžete také upravit název zdroje výběrem tlačítka Tužka pro název zdroje v sekci Podrobnosti streamu napravo.
-
Režim uzamykání snímků: Možnosti:
Na stránce Zkontrolovat a připojit, po prověření souhrnu zdroje databáze CDC MySQL, zvolte Přidat, abyste dokončili konfiguraci.
Zobrazení aktualizovaného streamu událostí
V režimu úprav vidíte zdroj MySQL DB (CDC) přidaný do vašeho eventstreamu.
Vyberte Publikovat, aby se změny publikovaly, a začněte streamovat data CDC databáze MySQL do streamu událostí.
Související obsah
Další konektory: