Sebelum menggunakan konektor MySQL Change Data Capture (CDC) untuk tabel sumber, pastikan penyimpanan MySQL upstream memenuhi persyaratan konfigurasi seperti versi, koneksi jaringan, dan izin akun. Aktifkan juga fitur binary logging. Topik ini menjelaskan persyaratan konfigurasi dan operasi terkait untuk ApsaraDB RDS untuk MySQL, PolarDB untuk MySQL, dan database MySQL yang dikelola sendiri.
ApsaraDB RDS untuk MySQL database
Konfigurasi koneksi jaringan
Koneksi jaringan antara ApsaraDB RDS untuk MySQL dan Flink yang sepenuhnya dikelola harus dibuat.
Jika ApsaraDB RDS untuk MySQL dan Flink yang sepenuhnya dikelola berada di virtual private cloud (VPC) yang sama di wilayah yang sama, keduanya terhubung secara otomatis.
Jika ApsaraDB RDS untuk MySQL dan Flink yang sepenuhnya dikelola berada di jaringan berbeda, Anda harus membuat koneksi jaringan antara keduanya. Sebagai contoh, gunakan VPN Gateway untuk membuat koneksi. Untuk informasi lebih lanjut, lihat Bagaimana layanan Flink yang sepenuhnya dikelola mengakses Internet? dan Bagaimana Flink yang sepenuhnya dikelola mengakses layanan lintas VPC?.
Konfigurasi server MySQL
Fitur Binary Logging
Jika nilai pengembalian adalah ON, fitur ini diaktifkan.
Jika nilai pengembalian adalah OFF, fitur ini dinonaktifkan. Untuk informasi lebih lanjut tentang cara mengaktifkannya, lihat Lihat dan hapus file log biner dari instance ApsaraDB RDS untuk MySQL.
Format Log Biner
Log biner harus dalam format ROW. Jalankan perintah show variables like "binlog_format" untuk memeriksa formatnya. Format default log biner ApsaraDB RDS untuk MySQL adalah ROW.
Pengaturan Parameter binlog_row_image
Parameter binlog_row_image harus diatur ke FULL. Jalankan perintah show global variables like "binlog_row_image" untuk memeriksa nilainya. Nilai default parameter ini untuk ApsaraDB RDS untuk MySQL adalah FULL.
Nonaktifkan kompresi transaksi log biner
Untuk berhasil mengambil data inkremental dari database MySQL yang dikelola sendiri menggunakan konektor CDC MySQL, Anda harus menonaktifkan kompresi transaksi log biner.
Nilai default parameter scan.incremental.snapshot.enabled adalah true, yang menunjukkan bahwa fitur snapshot tambahan diaktifkan secara default. Hal ini memastikan kompatibilitas dengan ApsaraDB RDS untuk MySQL 5.6.X. Fitur ini tidak dapat dinonaktifkan untuk versi tersebut tetapi dapat dimodifikasi mulai ApsaraDB RDS untuk MySQL 6.0.8 dan 8.0.1. Kami menyarankan agar fitur ini tetap diaktifkan karena menonaktifkannya dapat menyebabkan penguncian database dan memengaruhi kinerja pemrosesan bisnis online.
Aktifkan fitur binary logging. Jalankan perintah show variables like "log_bin" untuk memeriksa statusnya.
Konfigurasi parameter sesi
interactive_timeout: Menentukan jumlah detik server menunggu aktivitas sebelum menutup koneksi interaktif. Untuk informasi lebih lanjut, lihat Konfigurasikan parameter interactive_timeout MySQL.
wait_timeout: Menentukan jumlah detik server menunggu aktivitas sebelum menutup koneksi non-interaktif. Untuk informasi lebih lanjut, lihat Konfigurasikan parameter wait_timeout MySQL.
Saat menggunakan konektor MySQL CDC untuk membaca snapshot penuh dari database besar, koneksi yang telah dibuat mungkin habis waktu tunggunya. Untuk mencegah masalah ini, konfigurasikan parameter interactive_timeout dan wait_timeout dalam file konfigurasi MySQL. Berikut deskripsi parameternya:
Konfigurasi izin akun
Buat akun dan berikan izin SELECT, REPLICATION SLAVE, dan REPLICATION CLIENT kepada akun tersebut. Izin ini diperlukan untuk menyinkronkan data dari ApsaraDB RDS untuk MySQL menggunakan konektor MySQL CDC. Untuk informasi lebih lanjut, lihat Buat akun pada instance ApsaraDB RDS untuk MySQL.
PolarDB untuk MySQL database
Konfigurasi koneksi jaringan
Koneksi jaringan antara PolarDB untuk MySQL dan Flink yang sepenuhnya dikelola harus dibuat.
Jika PolarDB untuk MySQL dan Flink yang sepenuhnya dikelola berada di VPC yang sama di wilayah yang sama, keduanya terhubung secara otomatis.
Jika PolarDB untuk MySQL dan Flink yang sepenuhnya dikelola berada di jaringan berbeda, Anda harus membuat koneksi jaringan antara keduanya. Sebagai contoh, gunakan VPN Gateway untuk membuat koneksi. Untuk informasi lebih lanjut, lihat Bagaimana layanan Flink yang sepenuhnya dikelola mengakses Internet? dan Bagaimana Flink yang sepenuhnya dikelola mengakses layanan lintas VPC?.
Konfigurasi server MySQL
Fitur Binary Logging
Jika nilai pengembalian adalah ON, fitur ini diaktifkan.
Jika nilai pengembalian adalah OFF, fitur ini dinonaktifkan. Untuk informasi lebih lanjut tentang cara mengaktifkannya, lihat Aktifkan binary logging.
Format Log Biner
Log biner harus dalam format ROW. Jalankan perintah show variables like "binlog_format" untuk memeriksa formatnya. Format default log biner PolarDB untuk MySQL adalah ROW.
Pengaturan Parameter binlog_row_image
Parameter binlog_row_image harus diatur ke FULL. Jalankan perintah show global variables like "binlog_row_image" untuk memeriksa nilainya. Nilai default parameter ini untuk PolarDB untuk MySQL adalah FULL.
Aktifkan fitur binary logging. Jalankan perintah show variables like "log_bin" untuk memeriksa statusnya.
Konfigurasi parameter sesi
interactive_timeout: Menentukan jumlah detik server menunggu aktivitas sebelum menutup koneksi interaktif. Untuk informasi lebih lanjut, lihat Tentukan parameter kluster dan node.
wait_timeout: Menentukan jumlah detik server menunggu aktivitas sebelum menutup koneksi non-interaktif. Untuk informasi lebih lanjut, lihat Tentukan parameter kluster dan node.
Saat menggunakan konektor MySQL CDC untuk membaca snapshot penuh dari database besar, koneksi yang telah dibuat mungkin habis waktu tunggunya. Untuk mencegah masalah ini, konfigurasikan parameter interactive_timeout dan wait_timeout dalam file konfigurasi MySQL. Berikut deskripsi parameternya:
Konfigurasi izin akun
Buat akun dan berikan izin SELECT, REPLICATION SLAVE, dan REPLICATION CLIENT kepada akun tersebut. Izin ini diperlukan untuk menyinkronkan data dari PolarDB untuk MySQL menggunakan konektor MySQL CDC. Untuk informasi lebih lanjut tentang cara membuat akun dan memberikan izin, lihat Buat akun database.
Secara default, akun yang dibuat di konsol PolarDB untuk MySQL tidak memiliki izin SELECT. Anda harus secara manual memberikan izin SELECT kepada akun tersebut. Untuk informasi lebih lanjut tentang cara memberikan izin, lihat Kelola izin pengguna pada database MySQL.
Database MySQL yang dikelola sendiri
Konfigurasi koneksi jaringan
Koneksi jaringan antara database MySQL yang dikelola sendiri dan Flink yang sepenuhnya dikelola harus dibuat.
Jika database MySQL Anda diterapkan di Alibaba Cloud dan berada di VPC yang sama dengan Flink yang sepenuhnya dikelola, jaringan antara keduanya terhubung secara otomatis.
Jika database MySQL Anda tidak diterapkan di Alibaba Cloud, aktifkan Flink yang sepenuhnya dikelola untuk mengakses alamat IP publik database MySQL. Dalam hal ini, hubungkan database MySQL yang dikelola sendiri dan Flink yang sepenuhnya dikelola menggunakan VPN Gateway. Untuk informasi lebih lanjut, lihat Bagaimana layanan Flink yang sepenuhnya dikelola mengakses Internet?.
Konfigurasi server MySQL
Versi yang Didukung
Konektor MySQL CDC yang berjalan pada Ververica Runtime (VVR) 4.0.8 atau lebih baru dapat membaca data dari database MySQL versi 5.7 dan 8.0.X. Konektor MySQL CDC yang berjalan pada VVR 4.0.11 atau lebih baru mendukung versi 5.6.X, 5.7.X, dan 8.0.X. Jalankan perintah select version() untuk memeriksa versi MySQL.
Fitur Binary Logging
Jika nilai pengembalian adalah ON, fitur ini diaktifkan.
Jika nilai pengembalian adalah OFF, fitur ini dinonaktifkan. Untuk informasi lebih lanjut tentang cara mengaktifkannya, lihat Aktifkan binary logging.
Format Log Biner
Log biner harus dalam format ROW. Jalankan perintah show variables like "binlog_format" untuk memeriksa formatnya. Jika log biner tidak dalam format ROW, ubah format menjadi ROW. Untuk informasi lebih lanjut, lihat Konfigurasikan format log biner.
Pengaturan Parameter binlog_row_image
Parameter binlog_row_image harus diatur ke FULL. Jalankan perintah show global variables like "binlog_row_image" untuk memeriksa nilainya. Jika nilai parameter bukan FULL, ubah nilainya menjadi FULL. Untuk informasi lebih lanjut, lihat Pengaturan binlog_row_image.
Nonaktifkan kompresi transaksi log biner
Untuk berhasil mengambil data inkremental dari database MySQL yang dikelola sendiri menggunakan konektor CDC MySQL, Anda harus menonaktifkan kompresi transaksi log biner.
Aktifkan fitur binary logging. Jalankan perintah show variables like "log_bin" untuk memeriksa statusnya.
Konfigurasi parameter sesi
interactive_timeout: Menentukan jumlah detik server menunggu aktivitas sebelum menutup koneksi interaktif. Untuk informasi lebih lanjut, lihat Konfigurasikan parameter interactive_timeout MySQL.
wait_timeout: Menentukan jumlah detik server menunggu aktivitas sebelum menutup koneksi non-interaktif. Untuk informasi lebih lanjut, lihat Konfigurasikan parameter wait_timeout MySQL.
Saat menggunakan konektor MySQL CDC untuk membaca data penuh dari database besar, koneksi yang telah dibuat mungkin habis waktu tunggunya. Untuk mencegah masalah ini, konfigurasikan parameter interactive_timeout dan wait_timeout dalam file konfigurasi MySQL. Berikut deskripsi parameternya:
Konfigurasi izin akun
Buat akun dan konfigurasikan kata sandi untuk akun tersebut.
Untuk informasi lebih lanjut, lihat Buat pengguna.
Berikan izin yang diperlukan kepada akun.
*.* menunjukkan bahwa akun diberikan izin pada semua tabel di semua database. Anda juga dapat menggunakan mydb.* untuk memberikan izin pada satu database tertentu.
Pastikan izin yang diberikan kepada akun valid.
Buat akun dan berikan izin SELECT, REPLICATION SLAVE, dan REPLICATION CLIENT kepada akun tersebut. Untuk mengonfigurasi izin akun, lakukan langkah-langkah berikut:
CREATE USER 'user'@'localhost' IDENTIFIED BY 'password'; GRANT SELECT, REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'user' IDENTIFIED BY 'password'; FLUSH PRIVILEGES;