Dodawanie źródła cdC bazy danych MySQL do strumienia zdarzeń
Uwaga
Ten artykuł zawiera odwołania do terminu SLAVE
, termin, którego firma Microsoft już nie używa. Po usunięciu terminu z oprogramowania usuniemy go z tego artykułu.
W tym artykule pokazano, jak dodać źródło przechwytywania zmian danych mySQL do strumienia zdarzeń. Obecnie usługa CDC bazy danych MySQL jest obsługiwana w następujących usługach, w których można uzyskać dostęp do baz danych publicznie:
- Azure Database for MySQL
- Amazon RDS for MySQL
- Amazon Aurora MySQL
- Google Cloud SQL for MySQL (GCP).
W tym przewodniku jako przykład użyto usługi Azure Database for MySQL CDC.
Po dodaniu źródła CDC bazy danych MySQL do strumienia zdarzeń przechwytuje zmiany w danych na poziomie wiersza w określonych tabelach. Te zmiany można następnie przetwarzać w czasie rzeczywistym i wysyłać do różnych miejsc docelowych w celu dalszej analizy.
Uwaga
To źródło nie jest obsługiwane w następujących regionach pojemności obszaru roboczego: Zachodnie stany USA3, Szwajcaria Zachodnia.
Wymagania wstępne
- Dostęp do obszaru roboczego w trybie licencji pojemności sieci szkieletowej (lub) w trybie licencji próbnej z uprawnieniami współautora lub wyższymi uprawnieniami.
- Dostęp do wystąpienia bazy danych MySQL, takiego jak: baza danych w usłudze Azure Database for MySQL — elastyczny serwer.
- Baza danych MySQL musi być publicznie dostępna i nie musi znajdować się za zaporą lub być zabezpieczona w sieci wirtualnej.
- Jeśli nie masz strumienia zdarzeń, utwórz strumień zdarzeń.
Konfigurowanie bazy danych MySQL
Łącznik używa łącznika Debezium MySQL do przechwytywania zmian w bazie danych MySQL. Należy zdefiniować użytkownika mySQL z odpowiednimi uprawnieniami we wszystkich bazach danych, z których łącznik obsługi komunikatów może przechwytywać zmiany. Możesz bezpośrednio użyć administratora
Uwaga
Nowe konto użytkownika lub administratora i odpowiednie hasło będą używane do nawiązywania połączenia z bazą danych później wewnątrz strumienia zdarzeń.
mysql
W wierszu polecenia utwórz użytkownika mySQL:mysql> CREATE USER 'user'@'%' IDENTIFIED BY 'password';
Przyznaj użytkownikowi wymagane uprawnienia:
mysql> GRANT SELECT, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'user'@'%';
Uwaga
Gdy globalna blokada do odczytu jest niedostępna, jak w przypadku opcji hostowanych, takich jak Amazon RDS czy Aurora, stosuje się blokady na poziomie tabeli do tworzenia spójnej migawki. W takim przypadku musisz przyznać użytkownikowi
LOCK TABLES
uprawnienia. Ponadto w celu obsługi operacjiFLUSH
podczas tworzenia migawki może być również konieczne przyznanie uprawnieńRELOAD
lubFLUSH_TABLES
.Finalizuj uprawnienia użytkownika:
mysql> FLUSH PRIVILEGES;
Aby sprawdzić, czy użytkownik lub administrator ma przyznane wymagane uprawnienia, uruchom to polecenie, a następnie należy wyświetlić wymagane uprawnienia w kroku 2:
SHOW GRANTS FOR user;
Aby uzyskać więcej informacji na temat udzielania wymaganych uprawnień użytkownikowi, zobacz Debezium connector for MySQL: Debezium Documentation (Łącznik debezium dla programu MySQL: Debezium Documentation).
Włączanie dziennika binlog
Należy włączyć rejestrowanie binarne na potrzeby replikacji bazy danych MySQL. Dzienniki binarne rejestrują aktualizacje transakcji dla narzędzi replikacji w celu propagowania zmian. W tej sekcji użyto usługi Azure Database for MySQL CDC jako przykładu, aby pokazać kroki konfiguracji.
Na stronie witryny Azure Portal dla konta usługi Azure Database for MySQL wybierz pozycję Parametry serwera w obszarze Ustawienia w obszarze nawigacji po lewej stronie.
Na stronie Parametry serwera skonfiguruj następujące właściwości, a następnie wybierz pozycję Zapisz.
W przypadku binlog_row_image wybierz pozycję pełne.
W przypadku binlog_expire_logs_seconds ustaw liczbę sekund oczekiwania usługi przed przeczyszczeniem pliku dziennika binarnego. Ustaw wartość tak, aby odpowiadała potrzebom środowiska, na przykład 86400.
Dodaj bazę danych MySQL DB (CDC) jako źródło
Jeśli jeszcze nie dodano żadnego źródła do strumienia zdarzeń, wybierz pozycję Użyj kafelka zewnętrznego źródła .
Jeśli dodasz źródło do już opublikowanego strumienia zdarzeń, przełącz się do trybu edycji , wybierz pozycję Dodaj źródło na wstążce, a następnie wybierz pozycję Źródła zewnętrzne.
Na stronie Wybieranie źródła danych wyszukaj i wybierz pozycję Połącz na kafelku MySQL DB (CDC).
Konfigurowanie bazy danych MySQL DB (CDC) i nawiązywanie z nią połączenia
Na ekranie Połącz w obszarze Połączenie wybierz pozycję Nowe połączenie, aby utworzyć połączenie w chmurze.
Wprowadź następujące ustawienia połączenia i poświadczenia połączenia dla bazy danych MySQL DB, a następnie wybierz pozycję Połącz.
Server: Adres serwera bazy danych MySQL, na przykład my-mysql-server.mysql.database.azure.com.
Baza danych: nazwa bazy danych, na przykład my_database.
Nazwa połączenia: wygenerowana automatycznie lub możesz wprowadzić nową nazwę dla tego połączenia.
Nazwa użytkownika i hasło: wpisz dane logowania do bazy danych MySQL. Upewnij się, że wprowadzono konto administratora serwera lub konto użytkownika utworzone z przyznanymi wymaganymi uprawnieniami.
Wprowadź następujące informacje, aby skonfigurować źródło danych CDC MySQL, a następnie kliknij Dalej.
Tabele: wprowadź listę nazw tabel rozdzielonych przecinkami. Każda nazwa tabeli musi być zgodna z formatem
<database name>.<table name>
, na przykład my_database.users.Identyfikator serwera: wprowadź unikatową wartość dla każdego serwera i klienta replikacji w klastrze MySQL. Wartość domyślna to 1000.
Port: pozostaw wartość domyślną bez zmian.
Możesz również edytować nazwę źródła, wybierając przycisk Ołówek dla pozycji Nazwa źródła w sekcji Szczegóły strumienia po prawej stronie.
Uwaga
Ustaw inny identyfikator serwera dla każdego czytnika. Każdy klient bazy danych MySQL do odczytu dziennika binlog powinien mieć unikatowy identyfikator o nazwie Identyfikator serwera. Serwer MySQL używa tego identyfikatora do obsługi połączenia sieciowego i pozycji dziennika binlog. Różne zadania współużytkowania tego samego identyfikatora serwera mogą spowodować odczytanie nieprawidłowej pozycji dziennika binlogu. W związku z tym zaleca się ustawienie innego identyfikatora serwera dla każdego czytelnika.
Na stronie Przeglądanie i łączenie po przejrzeniu podsumowania źródła cdC bazy danych MySQL wybierz pozycję Dodaj, aby ukończyć konfigurację.
Uwaga
Maksymalna liczba źródeł i miejsc docelowych dla jednego strumienia zdarzeń wynosi 11.
Wyświetlanie zaktualizowanego strumienia zdarzeń
Zobaczysz źródło bazy danych MySQL (CDC) dodane do strumienia zdarzeń w trybie edycji .
Wybierz Publikuj, aby opublikować zmiany i rozpocząć przesyłanie danych CDC MySQL do strumienia zdarzeń.
Powiązana zawartość
Inne łączniki:
- Strumienie danych Amazon Kinesis
- Azure Cosmos DB
- Azure Event Hubs
- Azure IoT Hub
- Przechwytywanie zmian danych w usłudze Azure SQL Database (CDC)
- Confluent Kafka
- Niestandardowy punkt końcowy
- Google Cloud Pub/Sub
- CdC bazy danych PostgreSQL
- Dane przykładowe
- Zdarzenia usługi Azure Blob Storage
- Zdarzenie obszaru roboczego sieci szkieletowej