Κοινή χρήση μέσω


Προσθήκη προέλευσης CDC βάσης δεδομένων MySQL σε μια ροή συμβάντων

Σημείωμα

Αυτό το άρθρο περιέχει αναφορές στον όρο SLAVE, έναν όρο που δεν χρησιμοποιεί πλέον η Microsoft. Όταν καταργηθεί ο όρος από το λογισμικό, θα τον καταργήσουμε από αυτό το άρθρο.

Αυτό το άρθρο εξηγεί πώς μπορείτε να προσθέσετε μια προέλευση MySQL Change Data Capture σε μια ροή συμβάντος. Προς το παρόν, το MYSQL Database CDC υποστηρίζεται από τις ακόλουθες υπηρεσίες όπου είναι δυνατή η δημόσια πρόσβαση στις βάσεις δεδομένων:

  • βάσης δεδομένων Azure για MySQL
  • Amazon RDS για το MySQL
  • Amazon Aurora MySQL
  • Google Cloud SQL για MySQL (GCP).

Αυτός ο οδηγός χρησιμοποιεί βάση δεδομένων Azure για το MySQL CDC ως παράδειγμα.

Μόλις προστεθεί η προέλευση CDC βάσης δεδομένων MySQL στο eventstream, καταγράφει τις αλλαγές σε επίπεδο γραμμών στους καθορισμένους πίνακες. Αυτές οι αλλαγές μπορούν, στη συνέχεια, να υποβληθούν σε επεξεργασία σε πραγματικό χρόνο και να σταλούν σε διαφορετικούς προορισμούς για περαιτέρω ανάλυση.

Σημείωμα

Αυτή η προέλευση δεν υποστηρίζεται στις ακόλουθες περιοχές των εκχωρημένων πόρων του χώρου εργασίας σας: Δυτικές Η.Π.Α.3, Δυτική Ελβετία.

Προαπαιτούμενα στοιχεία

  • Πρόσβαση σε έναν χώρο εργασίας στη λειτουργία άδειας χρήσης εκχωρημένων πόρων Fabric (ή) στη λειτουργία άδειας χρήσης δοκιμαστικής έκδοσης με δικαιώματα Συμβάλλοντα ή υψηλότερα δικαιώματα.
  • Πρόσβαση σε μια παρουσία της βάσης δεδομένων MySQL, όπως: μια βάση δεδομένων στη Βάση δεδομένων Azure για MySQL - Ευέλικτος διακομιστής.
  • Η βάση δεδομένων Σας MySQL πρέπει να είναι προσβάσιμη στο κοινό και να μην βρίσκεται πίσω από ένα τείχος προστασίας ή να είναι ασφαλής σε ένα εικονικό δίκτυο.
  • Εάν δεν έχετε ένα eventstream, δημιουργήστε ένα eventstream.

Ρύθμιση της DB MySQL

Η σύνδεση χρησιμοποιεί τη σύνδεση Debezium MySQL για την καταγραφή αλλαγών στη βάση δεδομένων MySQL. Πρέπει να ορίσετε έναν χρήστη MySQL με κατάλληλα δικαιώματα σε όλες τις βάσεις δεδομένων, όπου η Σύνδεση μηνυμάτων μπορεί να καταγράψει τις αλλαγές από αυτή. Μπορείτε να χρησιμοποιήσετε απευθείας τον διαχειριστή του για να συνδεθείτε στη βάση δεδομένων που συνήθως έχει τα κατάλληλα δικαιώματα ή μπορείτε να ακολουθήσετε αυτά τα βήματα για να δημιουργήσετε έναν νέο χρήστη:

Σημείωμα

Ο νέος λογαριασμός χρήστη ή διαχειριστή και ο αντίστοιχος κωδικός πρόσβασης θα χρησιμοποιηθούν για σύνδεση στη βάση δεδομένων αργότερα στο Eventstream.

  1. mysql Στη γραμμή εντολών, δημιουργήστε τον χρήστη MySQL:

    mysql> CREATE USER 'user'@'%' IDENTIFIED BY 'password';
    
  2. Εκχωρήστε τα απαιτούμενα δικαιώματα στον χρήστη:

    mysql> GRANT SELECT, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'user'@'%';
    

    Σημείωμα

    Όταν ένα καθολικό κλείδωμα ανάγνωσης δεν είναι διαθέσιμο, όπως στις φιλοξενούμενες επιλογές όπως Amazon RDS ή Aurora, οι κλειδαριές σε επίπεδο πίνακα χρησιμοποιούνται για τη δημιουργία του συνεπούς στιγμιότυπου. Σε αυτήν την περίπτωση, πρέπει να εκχωρήσετε LOCK TABLES δικαιώματα στον χρήστη. Επιπλέον, για να υποστηρίξετε λειτουργίες FLUSH κατά τη διάρκεια του στιγμιότυπου αναφοράς, ίσως χρειαστεί επίσης να εκχωρήσετε δικαιώματα RELOAD ή FLUSH_TABLES.

  3. Οριστικοποιήστε τα δικαιώματα του χρήστη:

    mysql> FLUSH PRIVILEGES;
    

Για να επιβεβαιώσετε αν ο χρήστης ή ο διαχειριστής έχει εκχωρήσει τα απαιτούμενα δικαιώματα, εκτελέστε αυτή την εντολή και, στη συνέχεια, θα πρέπει να εμφανιστούν τα απαιτούμενα δικαιώματα στο βήμα #2:

SHOW GRANTS FOR user;

Για περισσότερες πληροφορίες σχετικά με την εκχώρηση των απαιτούμενων δικαιωμάτων στον χρήστη, ανατρέξτε στο θέμα Σύνδεση Debezium για MySQL: Τεκμηρίωση του Debezium.

Ενεργοποίηση του binlog

Πρέπει να ενεργοποιήσετε τη δυαδική καταγραφή για αναπαραγωγή MySQL. Τα δυαδικά αρχεία καταγραφής καταγράφουν ενημερώσεις συναλλαγών για τα εργαλεία αναπαραγωγής για τη μετάδοση των αλλαγών. Αυτή η ενότητα χρησιμοποιεί βάση δεδομένων Azure για το MySQL CDC ως παράδειγμα για να εμφανίσει τα βήματα ρύθμισης παραμέτρων.

  1. Στη σελίδα της πύλης Azure για τη βάση δεδομένων Azure για τον λογαριασμό σας MySQL, επιλέξτε Παράμετροι διακομιστή στην περιοχή Ρυθμίσεις στην αριστερή περιήγηση.

  2. Στη σελίδα Παράμετροι διακομιστή, ρυθμίστε τις παραμέτρους των παρακάτω ιδιοτήτων και, στη συνέχεια, επιλέξτε Αποθήκευση.

    • Για binlog_row_image, επιλέξτε πλήρης.

    • Για binlog_expire_logs_seconds, ορίστε τον αριθμό των δευτερολέπτων που αναμένει η υπηρεσία πριν από την εκκαθάριση του δυαδικού αρχείου καταγραφής. Ορίστε την τιμή σύμφωνα με τις ανάγκες του περιβάλλοντός σας, για παράδειγμα , 86400.

    Ένα στιγμιότυπο οθόνης των ρυθμίσεων binlog για αναπαραγωγή στις παραμέτρους διακομιστή.

Προσθήκη MySQL DB (CDC) ως προέλευσης

Εάν δεν έχετε προσθέσει ακόμα κάποια προέλευση στο eventstream, επιλέξτε Χρήση πλακιδίου εξωτερικής προέλευσης .

Στιγμιότυπο οθόνης που εμφανίζει την επιλογή

Εάν προσθέτετε την προέλευση σε μια ήδη δημοσιευμένη ροή συμβάντος, μεταβείτε σε λειτουργία Επεξεργασίας , επιλέξτε Προσθήκη προέλευσης στην κορδέλα και, στη συνέχεια, επιλέξτε Εξωτερικές προελεύσεις.

Στιγμιότυπο οθόνης που εμφανίζει την επιλογή του μενού

Στη σελίδα Επιλογή προέλευσης δεδομένων, αναζητήστε και επιλέξτε Σύνδεση στο πλακίδιο MySQL DB (CDC).

Στιγμιότυπο οθόνης που εμφανίζει την επιλογή του MySQL DB (CDC) ως τον τύπο προέλευσης στον οδηγό Λήψη συμβάντων.

Ρύθμιση παραμέτρων και σύνδεση στο MySQL DB (CDC)

  1. Στην οθόνη Σύνδεση, στην περιοχή Σύνδεση, επιλέξτε Νέα σύνδεση για να δημιουργήσετε μια σύνδεση cloud.

    Στιγμιότυπο οθόνης που εμφανίζει τη σελίδα Σύνδεση.

  2. Εισαγάγετε τις παρακάτω ρυθμίσεις σύνδεσης και διαπιστευτήρια σύνδεσης για τη βάση δεδομένων Σας MySQL και, στη συνέχεια, επιλέξτε Σύνδεση.

  3. Εισαγάγετε τις παρακάτω πληροφορίες για να ρυθμίσετε τις παραμέτρους της προέλευσης δεδομένων MySQL DB CDC και, στη συνέχεια, επιλέξτε Επόμενο.

    • Table(s): Εισαγάγετε μια λίστα ονομάτων πινάκων που διαχωρίζονται με κόμματα. Κάθε όνομα πίνακα πρέπει να ακολουθεί τη μορφή <database name>.<table name>, για παράδειγμα , my_database.users.

    • Αναγνωριστικό διακομιστή: Εισαγάγετε μια μοναδική τιμή για κάθε διακομιστή και πρόγραμμα-πελάτη αναπαραγωγής στο σύμπλεγμα MySQL. Η προεπιλεγμένη τιμή είναι 1000.

    • Θύρα: Αφήστε την προεπιλεγμένη τιμή αμετάβλητη.

      Ένα στιγμιότυπο οθόνης επιλογής πινάκων, αναγνωριστικού διακομιστή και θύρας για τη σύνδεση Azure MySQL DB (CDC).

    Μπορείτε επίσης να επεξεργαστείτε το όνομα προέλευσης, επιλέγοντας το κουμπί Μολυβιού για το Όνομα προέλευσης στην ενότητα Λεπτομέρειες ροής στα δεξιά.

    Σημείωμα

    Ορίστε ένα διαφορετικό αναγνωριστικό διακομιστή για κάθε αναγνώστη. Κάθε πρόγραμμα-πελάτης βάσης δεδομένων MySQL για ανάγνωση του binlog πρέπει να έχει ένα μοναδικό αναγνωριστικό, το οποίο ονομάζεται Αναγνωριστικό διακομιστή. Ο MySQL Server χρησιμοποιεί αυτό το αναγνωριστικό για τη διατήρηση της σύνδεσης δικτύου και της θέσης binlog. Διαφορετικές εργασίες κοινής χρήσης του ίδιου αναγνωριστικού διακομιστή μπορεί να έχουν ως αποτέλεσμα την ανάγνωση από λάθος θέση binlog. Επομένως, συνιστάται να ορίσετε ένα διαφορετικό αναγνωριστικό διακομιστή για κάθε αναγνώστη.

  4. Στη σελίδα Αναθεώρηση + σύνδεση, αφού εξετάσετε τη σύνοψη για την προέλευση MySQL DB CDC, επιλέξτε Προσθήκη για να ολοκληρώσετε τη ρύθμιση παραμέτρων.

    Στιγμιότυπο οθόνης που εμφανίζει τη σελίδα Αναθεώρηση + σύνδεση με επιλεγμένο το κουμπί

Σημείωμα

Ο μέγιστος αριθμός των προελεύσεων και προορισμών για ένα eventstream είναι 11.

Προβολή ενημερωμένης ροής συμβάντων

  1. Βλέπετε την προέλευση MySQL DB (CDC) να προστίθεται στη ροή συμβάντων λειτουργία επεξεργασίας.

    Ένα στιγμιότυπο οθόνης της προέλευσης Azure MySQL DB CDC που προστέθηκε σε λειτουργία επεξεργασίας με επισημασμένο το κουμπί Δημοσίευση.

  2. Επιλέξτε Δημοσίευση για να δημοσιεύσετε τις αλλαγές και να ξεκινήσετε τη ροή δεδομένων mySQL DB CDC στο eventstream.

    Ένα στιγμιότυπο οθόνης της προέλευσης azure MySQL DB CDC που προστέθηκε σε λειτουργία δυναμικής σύνδεσης.

Άλλες συνδέσεις: