Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Catatan
Artikel ini berisi referensi ke istilah SLAVE
, istilah yang tidak lagi digunakan Microsoft. Saat istilah dihapus dari perangkat lunak, kami akan menghapusnya dari artikel ini.
Artikel ini memperlihatkan kepada Anda cara menambahkan sumber MySQL Change Data Capture ke eventstream. Saat ini, CDC Database MySQL didukung dari layanan berikut di mana database dapat diakses secara publik:
- Basis Data Azure untuk MySQL
- Amazon RDS for MySQL
- Amazon Aurora MySQL
- Google Cloud SQL for MySQL (GCP).
Panduan ini menggunakan Azure Database for MySQL CDC sebagai contoh.
Setelah sumber CDC Database MySQL ditambahkan ke eventstream, sumber tersebut menangkap perubahan pada tingkat baris dari tabel yang ditentukan. Perubahan ini kemudian dapat diproses secara real time dan dikirim ke tujuan yang berbeda untuk analisis lebih lanjut.
Catatan
Sumber ini tidak didukung di wilayah kapasitas ruang kerja Anda di daerah berikut: West US3, Switzerland Barat.
Prasyarat
- Akses ke ruang kerja dalam mode lisensi kapasitas Fabric atau mode lisensi Uji Coba dengan izin Kontributor atau yang lebih tinggi.
- Akses ke instance Database MySQL, seperti: database di Azure Database untuk MySQL - Server yang Fleksibel.
- Database MySQL Anda harus dapat diakses secara publik dan tidak berada di belakang firewall atau diamankan dalam jaringan virtual.
- Jika Anda tidak memiliki eventstream, buat eventstream.
Menyiapkan MySQL DB
Konektor menggunakan konektor Debezium MySQL untuk mengambil perubahan di Database MySQL Anda. Anda harus menetapkan pengguna MySQL dengan hak istimewa yang sesuai pada semua database tempat Konektor Olahpesan dapat menangkap perubahan. Anda dapat langsung menggunakan pengguna admin
Catatan
Akun pengguna atau admin baru dan kata sandi yang sesuai akan digunakan untuk menyambungkan ke database nanti di dalam Eventstream.
Pada prompt perintah
mysql
, buatlah pengguna MySQL:mysql> CREATE USER 'user'@'%' IDENTIFIED BY 'password';
Berikan hak istimewa yang diperlukan kepada pengguna:
mysql> GRANT SELECT, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'user'@'%';
Catatan
Saat kunci baca global tidak tersedia, seperti dalam opsi yang dihosting seperti Amazon RDS atau Aurora, kunci tingkat tabel digunakan untuk membuat rekam jepret yang konsisten. Dalam hal ini, Anda perlu memberikan izin
LOCK TABLES
kepada pengguna. Selain itu, untuk mendukung operasiFLUSH
selama rekam jepret, Anda mungkin juga perlu memberikan hak istimewaRELOAD
atauFLUSH_TABLES
.Menyelesaikan izin pengguna:
mysql> FLUSH PRIVILEGES;
Untuk mengonfirmasi apakah pengguna atau admin memiliki hak istimewa yang diperlukan yang diberikan, jalankan perintah ini lalu hak istimewa yang diperlukan di langkah#2 harus ditampilkan:
SHOW GRANTS FOR user;
Untuk informasi selengkapnya tentang memberikan izin yang diperlukan kepada pengguna, lihat Konektor Debezium untuk MySQL: Dokumentasi Debezium.
Mengaktifkan binlog
Anda harus mengaktifkan pengelogan biner untuk replikasi MySQL. Log biner mencatat pembaruan transaksi untuk alat replikasi untuk menyebarkan perubahan. Bagian ini menggunakan azure Database for MySQL CDC sebagai contoh untuk menampilkan langkah-langkah konfigurasi.
Pada halaman portal Azure untuk akun Azure Database for MySQL Anda, pilih Parameter server di bawah Pengaturan di navigasi kiri.
Pada halaman Parameter server, konfigurasikan properti berikut, lalu pilih Simpan.
Untuk binlog_row_image, pilih penuh.
Untuk binlog_expire_logs_seconds, atur jumlah detik layanan menunggu sebelum file log biner dibersihkan. Atur nilai agar sesuai dengan kebutuhan lingkungan Anda, misalnya 86400.
Menambahkan MySQL DB (CDC) sebagai sumber
Jika Anda belum menambahkan sumber apa pun ke eventstream Anda, pilih Gunakan petak sumber eksternal.
Jika Anda menambahkan sumber ke eventstream yang sudah diterbitkan, beralihlah ke mode Edit , pilih Tambahkan sumber pada pita, lalu pilih Sumber eksternal.
Pada halaman Pilih sumber data, cari dan pilih Sambungkan pada petak peta MySQL DB (CDC ).
Mengonfigurasi dan menyambungkan ke MySQL DB (CDC)
Pada layar Sambungkan, di bawah Koneksi, pilih Koneksi baru untuk membuat koneksi cloud.
Masukkan pengaturan Koneksi berikut dan kredensial Koneksi untuk MySQL DB Anda, lalu pilih Sambungkan.
Server: Alamat server database MySQL Anda, misalnya my-mysql-server.mysql.database.azure.com.
Database: Nama database, misalnya my_database.
Nama koneksi: Dibuat secara otomatis, atau Anda dapat memasukkan nama baru untuk koneksi ini.
Nama Pengguna dan kata sandi : Masukkan kredensial untuk database MySQL Anda. Pastikan Anda memasukkan akun admin server atau akun pengguna yang dibuat dengan hak istimewa yang diperlukan yang diberikan.
Masukkan informasi berikut untuk mengonfigurasi sumber data CDC MySQL DB, lalu pilih Berikutnya.
Port: Nilai defaultnya adalah 3306. Jika koneksi cloud yang Anda pilih dikonfigurasi di Kelola koneksi dan gateway, pastikan nomor port cocok dengan yang diatur di sana. Jika tidak cocok, nomor port di koneksi cloud pada Kelola koneksi dan gateway akan diprioritaskan.
tabel: Pilih Semua tabel atau Masukkan nama tabel. Jika Anda memilih yang terakhir, tentukan tabel menggunakan daftar pengidentifikasi tabel lengkap yang dipisahkan koma (
databaseName.tableName
).Hingga 100 tabel dapat dimasukkan, dengan setiap nama tabel (termasuk nama skema) dibatasi hingga 128 karakter jika menggunakan pengidentifikasi tabel lengkap secara langsung.
ID Server: Masukkan nilai unik untuk setiap server dan klien replikasi di kluster MySQL. Nilai defaultnya adalah 1000.
Catatan
Atur ID Server yang berbeda untuk setiap pembaca. Setiap klien database MySQL untuk membaca binlog harus memiliki ID unik, yang disebut ID Server. MySQL Server menggunakan ID ini untuk mempertahankan koneksi jaringan dan posisi binlog. Pekerjaan berbeda yang berbagi ID Server yang sama dapat mengakibatkan membaca dari posisi binlog yang salah. Oleh karena itu, disarankan untuk mengatur ID Server yang berbeda untuk setiap pembaca.
Anda dapat memperluas pengaturan Tingkat Lanjut untuk mengakses opsi konfigurasi tambahan untuk sumber CDC Database MySQL:
-
Mode penguncian rekam jepret: Opsinya adalah:
- Minimal (default): Menahan kunci baca global hanya selama fase awal untuk menangkap skema dan metadata. Sisa snapshot menggunakan transaksi REPEATABLE READ, memungkinkan pembaruan dilakukan saat data sedang dibaca.
- Extended: Mempertahankan kunci baca global untuk seluruh durasi cuplikan, memblokir semua penulisan. Gunakan untuk konsistensi penuh jika pemblokiran tulis dapat diterima.
- None: Melompati akuisisi kunci tabel selama rekam jepret. Aman hanya jika tidak ada perubahan skema yang terjadi selama proses.
-
Mode penanganan desimal: Menentukan cara konektor menangani
DECIMAL
nilai kolom danNUMERIC
:-
Precise
: Mewakili nilai menggunakan jenis desimal yang tepat (misalnya, JavaBigDecimal
) untuk memastikan presisi dan akurasi penuh dalam representasi data. -
Double
: Mengonversi nilai menjadi angka floating-point presisi ganda. Ini meningkatkan kegunaan dan performa tetapi dapat mengakibatkan hilangnya presisi. -
String
: Mengodekan nilai sebagai string yang diformat. Ini membuatnya mudah dikonsumsi dalam sistem hilir tetapi kehilangan informasi semantik tentang jenis numerik asli.
-
Anda juga dapat mengedit nama sumber dengan memilih tombol Pensil untuk Nama sumber di bagian Detail aliran di sebelah kanan.
-
Mode penguncian rekam jepret: Opsinya adalah:
Pada halaman Tinjau + Sambungkan, setelah meninjau ringkasan untuk sumber CDC MySQL DB, pilih Tambahkan untuk melengkapi konfigurasi.
Menampilkan eventstream yang diperbarui
Anda melihat sumber MySQL DB (CDC) ditambahkan ke eventstream Anda dalam mode Edit .
Pilih Terbitkan untuk menerbitkan perubahan dan mulai streaming data CDC MySQL DB ke eventstream.
Konten terkait
Konektor lain: