Přidání zdroje CDC databáze MySQL do eventstreamu
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.
Poznámka:
Tento zdroj není podporován v následujících oblastech kapacity pracovního prostoru: USA – západ 3, Švýcarsko – západ.
Požadavky
- Přístup k pracovnímu prostoru v licenčním režimu kapacity 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íFLUSH
neboRELOAD
, aby bylo možné podpořit operaceFLUSH_TABLES
bě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.
Jako binlog_row_image vyberte úplné.
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 do streamu událostí ještě 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 a pak vyberte 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ší.
tabulky: Vyberte Všechny tabulky nebo Zadejte názvy tabulek. Pokud vyberete druhou možnost, zadejte tabulky pomocí čárkami odděleného seznamu úplných identifikátorů tabulky (
schemaName.tableName
) nebo platných regulárních výrazů. Například:- Pomocí
dbo.test.*
vyberte všechny tabulky, jejichž názvy začínajídbo.test
. - Pomocí
dbo\.(test1|test2)
vybertedbo.test1
adbo.test2
.
Oba formáty můžete kombinovat pomocí čárek. Můžete zadat až 100 tabulek, přičemž každý název tabulky (včetně názvu schématu) je omezený na 128 znaků, pokud používáte přímo celé identifikátory tabulky.
- Pomocí
ID serveru: Zadejte jedinečnou hodnotu pro každý server a klienta replikace v clusteru MySQL. Výchozí hodnota je 1000.
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í, bude mít přednost číslo portu v cloudovém připojení v Spravovat připojení a brány.
režim uzamčení snímků: Vyberte rozšířené nastavení režim uzamčení snímku. Možnosti jsou:
Minimální (výchozí): Uchovává globální zámek pro čtení pouze během počáteční fáze pro zaznamenání schématu a metadat. Zbytek snímku používá transakci REPEATABLE READ, která umožňuje aktualizace při čtení dat.
Rozšířené: Udržuje globální zámek čtení po celou dobu trvání snímku, což blokuje všechny zápisy. Používá se pro úplnou konzistenci, pokud je blokování zápisu přijatelné.
Žádné: Přeskočí získání zámků tabulky při pořizování snímku. Bezpečné pouze v případě, že během procesu nedojde k žádným změnám schématu.
Název zdroje můžete také upravit tak, že v části Podrobnosti streamu vpravo vyberete tlačítko Tužka pro název zdroje.
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.
Na stránce Zkontrolovat a připojit, po prověření souhrnu zdroje databáze CDC MySQL, zvolte Přidat, abyste dokončili konfiguraci.
Poznámka:
Maximální počet zdrojů a cílů pro jeden stream událostí je 11.
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: