MySQL-tietokannan CDC-lähteen lisääminen tapahtumavirtaan
Muistiinpano
Tässä artikkelissa on viittauksia termiin SLAVE
, jota Microsoft ei enää käytä. Kun termi poistetaan ohjelmistosta, poistamme sen tästä artikkelista.
Tässä artikkelissa kerrotaan, miten voit lisätä MySQL Change Data Capture -lähteen tapahtumavirtaan. Tällä hetkellä MySQL-tietokannan CDC-tietokantaa tuetaan seuraavista palveluista, joissa tietokantoja voidaan käyttää julkisesti:
- Azure Database for MySQL
- Amazon RDS for MySQL
- Amazon Aurora MySQL
- Google Cloud SQL for MySQL (GCP) -.
Tässä oppaassa käytetään esimerkkinä Azure Database for MySQL CDC
Kun MySQL-tietokannan CDC-lähde on lisätty tapahtumavirtaan, se tallentaa rivitason muutokset määritettyihin taulukoihin. Nämä muutokset voidaan sitten käsitellä reaaliaikaisesti ja lähettää eri kohteisiin tarkempaa analysointia varten.
Muistiinpano
Tätä lähdettä ei tueta seuraavilla työtilakapasiteettisi alueilla: Länsi-YHDYSVALLAT3, Sveitsi, läntinen.
Edellytykset
- Työtilan käyttöoikeus Fabric-kapasiteetin käyttöoikeustilassa (tai) kokeiluversion käyttöoikeustilassa Osallistuja-oikeudella tai korkeammilla käyttöoikeuksilla.
- Käyttöoikeus MySQL-tietokannan esiintymään, kuten: tietokanta Azure-tietokantaan MySQL:lle – Joustava palvelin.
- MySQL-tietokantasi on oltava julkisesti käytettävissä, eikä se saa olla palomuurin takana tai suojattu näennäisverkossa.
- Jos sinulla ei ole tapahtumastreamia, luo tapahtumavirta.
MySQL DB:n määrittäminen
Liitin tallentaa Muutokset MySQL-tietokantaan Debezium MySQL -liittimen avulla. Sinun on määritettävä MySQL-käyttäjä, jolla on asianmukaiset oikeudet kaikkiin tietokantoihin, joista Messaging Connector voi siepata muutokset. Voit käyttää suoraan järjestelmänvalvojakäyttäjää yhteyden muodostamiseen tietokantaan, johon tavallisesti liittyvät oikeudet, tai voit luoda uuden käyttäjän noudattamalla seuraavia ohjeita:
Muistiinpano
Uutta käyttäjä- tai järjestelmänvalvojatiliä ja vastaavaa salasanaa käytetään tietokantaan yhdistämiseen myöhemmin Eventstreamin sisällä.
Luo komentokehotteessa
mysql
MySQL-käyttäjä:mysql> CREATE USER 'user'@'%' IDENTIFIED BY 'password';
Myönnä tarvittavat oikeudet käyttäjälle:
mysql> GRANT SELECT, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'user'@'%';
Muistiinpano
Kun yleinen lukulukko ei ole käytettävissä, kuten Amazon RDS- tai Aurora-isännöidyissä palveluissa, yhdenmukaisen tilannevedoksen luomiseen käytetään taulukkotason lukituksia. Tässä tapauksessa sinun on myönnettävä
LOCK TABLES
käyttöoikeus käyttäjälle. Lisäksi jos haluat tukeaFLUSH
toimintoja tilannevedoksen aikana, sinun on ehkä myönnettävä myösRELOAD
taiFLUSH_TABLES
oikeudet.Viimeistele käyttäjän oikeudet:
mysql> FLUSH PRIVILEGES;
Jos haluat vahvistaa, onko käyttäjällä tai järjestelmänvalvojalla tarvittavat oikeudet, suorita tämä komento, niin vaiheen 2 vaaditut oikeudet näytetään:
SHOW GRANTS FOR user;
Lisätietoja vaadittujen käyttöoikeuksien myöntämisestä käyttäjälle on mySQL:n Debezium-liittimen kohdassa Debezium-dokumentaatio.
Ota binlog käyttöön
Sinun on otettava binaarikirjaus käyttöön MySQL-replikointia varten. Binaarilokit tallentavat tapahtumapäivitykset replikointityökaluille muutosten levittämiseksi. Tässä osassa käytetään esimerkkinä Azure Database for MySQL CDC
Valitse Azure Database for MySQL -tilisi Azure-portaali-sivulla palvelimen parametritvasemman reunan asetuksissa.
Määritä Palvelimen parametrit -sivulla seuraavat ominaisuudet ja valitse sitten Tallenna.
Valitse binlog_row_image täydet.
Määritä binlog_expire_logs_seconds määrä sekunteina, jonka palvelu odottaa, ennen kuin binaarilokitiedosto puhdistetaan. Määritä arvo vastaamaan ympäristösi tarpeita, esimerkiksi 86400.
Lisää MySQL DB (CDC) lähteeksi
Jos et ole vielä lisännyt lähdettä tapahtumavirtaan, valitse Käytä ulkoista lähderuutua .
Jos lisäät lähteen jo julkaistuun tapahtumavirtaan, vaihda Muokkaa-tilaan , valitse valintanauhasta Lisää lähde ja valitse sitten Ulkoiset lähteet.
Etsi Ja valitse Valitse tietolähde -sivulla YhdistäMySQL DB (CDC) -ruudussa.
MySQL DB:n (CDC) määrittäminen ja siihen yhdistäminen
Valitse Yhdistä-näytön Yhteys-kohdassa Uusi yhteys luodaksesi pilviyhteyden.
Anna seuraavat Yhteysasetukset ja Yhteyden tunnistetiedot MySQL-tietokantaasi varten ja valitse sitten Yhdistä.
Palvelin: MySQL-tietokannan palvelinosoite, esimerkiksi my-mysql-server.mysql.database.azure.com.
Tietokanta: Tietokannan nimi, esimerkiksi my_database.
Yhteyden nimi: Luodaan automaattisesti, tai voit antaa tälle yhteydelle uuden nimen.
Username and Password -: Anna MySQL-tietokantasi tunnistetiedot. Varmista, että annat palvelimen järjestelmänvalvojatilin tai luodun käyttäjätilin, jolle on myönnetty tarvittavat oikeudet.
Määritä MySQL DB CDC -tietolähde antamalla seuraavat tiedot ja valitse sitten Seuraava.
Taulukko:: Kirjoita luettelo taulukoiden nimistä pilkuilla eroteltuna. Kunkin taulukon nimen on noudatettava muotoa
<database name>.<table name>
, esimerkiksi my_database.users.Palvelintunnus: Anna yksilöllinen arvo kullekin palvelin- ja replikointiasiakkaalle MySQL-klusterissa. Oletusarvo on 1 000.
Portti: Jätä oletusarvo muuttumatta.
Voit muokata lähteen nimeä myös valitsemalla Lähteen nimi -kynäpainikkeen oikealla puolella Streamin tiedot -osassa.
Muistiinpano
Määritä kullekin lukijalle eri palvelintunnus. Jokaisella MySQL-tietokantaasiakkaalla binlogin lukemista varten tulisi olla yksilöivä tunnus, jota kutsutaan palvelintunnuksi. MySQL-palvelin käyttää tätä tunnusta verkkoyhteyden ja binlog-sijainnin ylläpitämiseen. Eri työt, jotka jakavat saman palvelintunnuksen, voivat johtaa lukemiseen väärästä binlog-sijainnista. Siksi on suositeltavaa määrittää eri palvelintunnus kullekin lukijalle.
Tarkista + yhdistä -
-sivulla, kun olet tarkistanut MySQL DB CDC -lähteen yhteenvedon, viimeistele määritys valitsemalla Lisää .
Muistiinpano
Yhden tapahtumavirran lähteiden ja kohteiden enimmäismäärä on 11.
Näytä päivitetty tapahtumavirta
Näet MySQL DB (CDC) -lähteen lisättynä tapahtumavirtaasi Muokkaa-tilassa.
Valitse Julkaise, jos haluat julkaista muutokset ja aloittaa MySQL DB CDC -tietojen suoratoiston tapahtumavirtaan.
Liittyvä sisältö
Muut liittimet: