Konfigurasi sumber data ApsaraDB RDS untuk MySQL
ApsaraDB RDS untuk MySQL adalah layanan basis data relasional online (RDS) yang disediakan oleh Alibaba Cloud. Layanan ini stabil, andal, dapat diskalakan, dan menyediakan kemampuan siap pakai. Untuk informasi lebih lanjut, kunjungi halaman produk.
Pertimbangan Sebelum Membeli Instance ApsaraDB RDS untuk MySQL
OpenSearch mendukung instance ApsaraDB RDS untuk MySQL dengan versi mesin MySQL 5.2 hingga 8.0.
Anda harus membeli instance ApsaraDB RDS untuk MySQL edisi High-availability reguler. Instance edisi Basic atau Enterprise tidak didukung.
Gunakan akun Alibaba Cloud yang Anda gunakan untuk masuk ke konsol OpenSearch untuk membeli instance ApsaraDB RDS untuk MySQL. Jika tidak, OpenSearch tidak dapat mengakses instance tersebut.
Instance ApsaraDB RDS untuk MySQL yang dibeli harus berada di wilayah yang sama dengan aplikasi OpenSearch tempat Anda ingin mengonfigurasi sumber data.
Tidak dapat mengonfigurasi instance ApsaraDB RDS untuk MySQL yang dikloning untuk aplikasi OpenSearch. Jika tidak, aplikasi akan tetap dalam status menginisialisasi setelah diaktifkan.
Jika Anda mengonfigurasi instance ApsaraDB RDS untuk MySQL yang tidak didukung atau tidak sesuai dengan batasan, pengindeksan ulang gagal untuk aplikasi OpenSearch.
Sumber data ApsaraDB RDS untuk MySQL untuk aplikasi OpenSearch harus diterapkan di jaringan pribadi virtual (VPC).
Catatan:
Sumber data PolarDB-X tidak didukung.
Anda harus memberikan otorisasi kepada OpenSearch untuk mendapatkan data dari instance ApsaraDB RDS untuk MySQL. Jika Anda telah mengonfigurasi daftar putih alamat IP untuk instance ApsaraDB RDS untuk MySQL, alamat IP OpenSearch ditambahkan ke daftar putih. Jika tidak, Anda tidak dapat terhubung ke instance ApsaraDB RDS untuk MySQL.
Fitur yang Didukung
Setelah semua data dari tabel sumber disinkronkan ke aplikasi, pengindeksan ulang dapat dipicu secara manual atau pada waktu yang dijadwalkan. Untuk informasi lebih lanjut, lihat Pengindeksan Ulang Manual dan Terjadwal.
Anda dapat menggabungkan baris dari beberapa tabel dari satu atau lebih sumber data. Untuk menggabungkan baris, pastikan bahwa tabel sumber menggunakan skema yang sama dan konfigurasi plugin pemrosesan data sama di sumber data. Selain itu, nilai kunci utama tidak boleh duplikat. Data dengan nilai kunci utama yang duplikat akan ditimpa. Fitur ini dapat digunakan dalam skenario berikut:
Data disinkronkan dari beberapa tabel sumber di sumber data ke tabel di aplikasi.
Beberapa sumber data dikonfigurasikan untuk tabel di aplikasi. Data disinkronkan dari satu atau lebih tabel sumber di setiap sumber data ke tabel di aplikasi.
Anda dapat menggunakan plugin untuk mengonversi nilai bidang sumber data.
Anda dapat menentukan kondisi filter untuk menyaring data lengkap.
Anda dapat menggunakan tanda bintang (
*) untuk mencocokkan tabel yang namanya memiliki awalan yang sama.
Batasan
Atur parameter binlog_row_image ke FULL untuk instance ApsaraDB RDS untuk MySQL.
Hanya instance ApsaraDB RDS untuk MySQL reguler edisi High-availability yang didukung.
Versi mesin MySQL untuk instance ApsaraDB RDS untuk MySQL harus 5.2 hingga 8.0.
Untuk instance ApsaraDB RDS untuk MySQL dengan versi mesin MySQL 5.6, disarankan untuk mengubah ambang batas parameter loose_max_execution_time dan loose_max_statement_time ke nilai yang lebih besar. Jika tidak, pesan kesalahan serupa dengan berikut ini muncul selama pengindeksan ulang: Eksekusi kueri terganggu, max_statement_time terlampaui.
Gunakan akun Alibaba Cloud yang Anda gunakan untuk masuk ke konsol OpenSearch untuk membeli instance ApsaraDB RDS untuk MySQL. Jika tidak, OpenSearch tidak dapat mengakses instance tersebut.
Instance ApsaraDB RDS untuk MySQL yang dibeli harus berada di wilayah yang sama dengan aplikasi OpenSearch tempat Anda ingin mengonfigurasi sumber data.
Setelah mengonfigurasi sumber data ApsaraDB RDS untuk MySQL untuk aplikasi standar, Anda tidak dapat menggunakan SDK atau memanggil operasi API untuk mendorong data tambahan ke aplikasi.
Jika Anda mengonfigurasi sumber data ApsaraDB RDS untuk MySQL untuk aplikasi standar, Anda tidak dapat menentukan kondisi filter untuk menyaring data dari sumber data.
Pernyataan REPLACE INTO tidak didukung.
Tidak dapat menggunakan pernyataan TRUNCATE atau DROP untuk menghapus data. Untuk menghapus data, gunakan pernyataan DELETE.
Tidak dapat mengonfigurasi instance ApsaraDB RDS untuk MySQL yang dikloning untuk aplikasi OpenSearch. Jika tidak, aplikasi akan tetap dalam status menginisialisasi setelah diaktifkan.
Kata sandi yang digunakan untuk terhubung ke sumber data ApsaraDB RDS untuk MySQL tidak boleh mengandung tanda persen (
%). Jika tidak, pengindeksan ulang gagal.Tidak dapat menggunakan akun istimewa untuk terhubung ke sumber data ApsaraDB RDS untuk MySQL. Jika tidak, OpenSearch gagal terhubung ke sumber data tersebut.
Tidak dapat menggabungkan kolom tabel sumber dari database yang berbeda.
Mode klien replika dan mode slave replika dengan logging biner dinonaktifkan tidak didukung. Untuk informasi lebih lanjut, lihat Pemeriksaan Awal pada Logging Biner Database Sumber.
Catatan Penggunaan
Anda dapat beralih antara titik akhir internal dan publik dari sumber data ApsaraDB RDS untuk MySQL. Tidak ada biaya lalu lintas yang dihasilkan saat OpenSearch mengakses data instance ApsaraDB RDS untuk MySQL.
OpenSearch memungkinkan Anda menarik data lengkap hanya dari database utama. Disarankan untuk melakukan pengindeksan ulang dan mengimpor data lengkap selama jam-jam sepi berdasarkan kebutuhan bisnis Anda.
Jika tabel sumber dari instance ApsaraDB RDS untuk MySQL berisi bidang bertipe DATETIME atau TIMESTAMP, nilai-nilai bidang tersebut dikonversi menjadi nilai dalam milidetik. Anda perlu mengatur tipe bidang tujuan di aplikasi Anda ke TIMESTAMP.
Ajukan permohonan untuk titik akhir internal instance ApsaraDB RDS untuk MySQL agar OpenSearch dapat mengakses instance tersebut. Jika tidak, pesan kesalahan Gagal terhubung ke layanan RDS. Coba lagi nanti muncul.
Setelah data lengkap disinkronkan, dokumen yang tidak memenuhi kondisi filter disaring. Jika dokumen tertentu memiliki nilai kunci utama yang sama dengan yang ada di tabel tujuan aplikasi, dokumen-dokumen tersebut juga disaring.
Jika tidak ada data tambahan yang dihasilkan untuk periode waktu yang lama (15 hari atau lebih), kesalahan sinkronisasi data mungkin terjadi. Dalam hal ini, Anda dapat secara manual melakukan perubahan offline.
Saat menggunakan OpenSearch untuk menyinkronkan data dari instance ApsaraDB RDS untuk MySQL, tambahkan alamat IP dan blok CIDR server di wilayah tempat OpenSearch berada ke daftar putih alamat IP instance ApsaraDB RDS untuk MySQL. Tabel berikut mencantumkan daftar putih alamat IP untuk wilayah yang berbeda.
Wilayah
Alamat IP
Cina (Hangzhou)
100.104.190.128/26,100.104.241.128/26
Cina (Beijing)
100.104.16.192/26,100.104.179.0/26
Cina (Shanghai)
100.104.37.0/26,100.104.46.0/26
Cina (Shenzhen)
100.104.87.192/26,100.104.132.192/26
Cina (Qingdao)
100.104.240.128/26,100.104.111.128/26
Cina (Zhangjiakou)
100.104.155.192/26,100.104.238.64/26
Jerman (Frankfurt)
100.104.127.0/26,100.104.35.192/26
AS (Silicon Valley) dan AS (Virginia)
100.104.193.128/26,100.104.119.128/26
Singapura
100.104.58.192/26,100.104.74.192/26
Otorisasi Akun
Perhatikan item berikut jika Anda mengonfigurasi sumber data ApsaraDB RDS untuk MySQL dengan versi mesin MySQL 5.7 atau lebih baru untuk aplikasi OpenSearch:
Untuk terhubung ke sumber data, Anda harus memperoleh izin yang diperlukan untuk mengakses sumber data dan memasukkan akun serta kata sandi. Berhati-hatilah saat memilih akun dan kata sandi untuk pertama kali terhubung ke sumber data.
Jika Anda ingin menggunakan Data Transmission Service (DTS) untuk menyinkronkan data, pastikan akun Anda memiliki izin untuk menanyakan semua tabel di database sumber. Selain itu, pastikan bahwa pernyataan SHOW CREATE TABLE
*. *dapat dieksekusi sesuai harapan. Jika akun Anda tidak memiliki izin, sinkronisasi waktu nyata mungkin gagal.Jangan ubah izin akun kecuali diperlukan. Tugas OpenSearch waktu nyata dianggap sebagai klien MySQL. Perubahan akun dapat menyebabkan kegagalan sinkronisasi waktu nyata. Selain itu, jika perubahan dilakukan pada akun saat ini, versi baru aplikasi mungkin gagal dibuat. Jika akun dan kata sandi diubah, Anda harus menghapus sumber data yang ada dan menambahkan instance ApsaraDB RDS untuk MySQL lagi sebagai sumber data baru.
Untuk mengizinkan OpenSearch mengakses sumber data ApsaraDB RDS untuk MySQL, pastikan persyaratan minimum berikut terpenuhi: 1. Izin untuk menjalankan pernyataan SHOW CREATE TABLE diberikan kepada OpenSearch. 2. Izin untuk menjalankan pernyataan REPLICATION SLAVE atau REPLICATION CLIENT diberikan kepada OpenSearch. 3. Nilai parameter binlog_row_image diatur ke FULL. 4. Nilai parameter binlog_format diatur ke ROW.
Jika enkripsi SSL diaktifkan untuk instance ApsaraDB RDS untuk MySQL, pastikan sertifikat SSL valid. Jika sertifikat SSL kedaluwarsa, kesalahan koneksi mungkin terjadi. Anda harus memperbarui periode validitas sertifikat SSL secara tepat waktu.
Pemecahan Masalah
Untuk mengonfigurasi sumber data ApsaraDB RDS untuk MySQL untuk aplikasi di konsol OpenSearch sebagai pengguna RAM, Anda harus memberikan otorisasi kepada pengguna RAM terlebih dahulu. Jika tidak, pesan kesalahan Gagal terhubung ke layanan RDS. Coba lagi nanti muncul. Untuk informasi lebih lanjut, lihat Buat Pengguna RAM. Peran AliyunServiceRoleForOpenSearch harus dibuat menggunakan akun Alibaba Cloud Anda.
Kata sandi yang digunakan untuk terhubung ke instance ApsaraDB RDS untuk MySQL tidak boleh mengandung tanda persen (
%). Jika tidak, pengindeksan ulang gagal dan pesan kesalahan "Karakter hex ilegal dalam pola escape (%) muncul.Nilai kunci utama tabel di aplikasi harus unik. Jika data disinkronkan dari beberapa tabel dengan skema tabel yang sama, nilai kunci utama yang duplikat mungkin ada. Dalam hal ini, data mungkin ditimpa. Untuk mencegah masalah ini, Anda dapat menggunakan plugin StringCatenateExtractor untuk menggabungkan nilai dari beberapa bidang. Bidang sumbernya adalah
pk dan $table. Ganti pk dengan bidang kunci utama tabel di instance ApsaraDB RDS untuk MySQL. $table adalah variabel sistem default, yang menunjukkan nama tabel. Untuk menggunakan $table, Anda harus menggunakan wildcard untuk mencocokkan beberapa tabel dengan skema tabel yang sama. Gabungkan nilai dari beberapa bidang sumber menggunakan tanda hubung (-) atau karakter kustom. Sebagai contoh, tabel di instance ApsaraDB RDS untuk MySQL bernamamy_table_0dan nilai kunci utamanya adalah123456. Dalam hal ini, nilai kunci utama baru yang diperoleh setelah penggabungan adalah123456-my_table_0.Jika data difilter berdasarkan bidang bertipe DATE atau DATETIME di tabel database, pastikan format waktu yang ditentukan dalam kondisi filter benar. Sebagai contoh, jika data difilter berdasarkan bidang sumber bernama createtime di tabel database, format waktu yang ditentukan dalam kondisi filter harus
createtime>'2018-03-01 00:00:00'. Jika format waktunya adalahcreatetime>'2018-3-1 00:00:00', kesalahan akan dikembalikan.
Metode untuk Mengonfigurasi Sumber Data ApsaraDB RDS untuk MySQL
Anda dapat mengonfigurasi sumber data ApsaraDB RDS untuk MySQL saat Anda mengonfigurasi aplikasi.
Jika Anda ingin mengonfigurasi sumber data ApsaraDB RDS untuk MySQL untuk aplikasi yang sudah ada, Anda dapat pergi ke halaman detail aplikasi dan melakukan perubahan offline.
Prosedur dan Catatan Penggunaan
1. Di panel Pilih Sumber Data, pilih ApsaraDB RDS untuk MySQL dan klik Connect to Database.

2. Di kotak dialog Hubungkan ke Basis Data, atur parameter sesuai kebutuhan dan klik Hubungkan.

Parameter | Deskripsi |
ID Instance ApsaraDB RDS | ID instance ApsaraDB RDS untuk MySQL. Anda dapat memperoleh ID di konsol ApsaraDB RDS untuk MySQL. ID bersifat peka huruf besar/kecil. Instance baca-saja tidak didukung. Contoh ID: rm-bp19b4g5n11111111. |
Nama Database | Nama database yang akan dihubungkan di instance ApsaraDB RDS untuk MySQL. Nama tidak peka huruf besar/kecil. |
Nama Pengguna | Nama pengguna akun yang digunakan untuk terhubung ke database. Anda dapat menggunakan akun ini untuk mendapatkan skema tabel dan data lengkap di database. Nama pengguna peka huruf besar/kecil, dan akun memiliki izin baca-saja. |
Kata Sandi | Kata sandi akun yang digunakan untuk terhubung ke database. |
Kemudian, OpenSearch mencoba terhubung ke sumber data dan mengembalikan pesan kesalahan jika koneksi gagal.
Pesan Kesalahan | Solusi |
Instance ApsaraDB RDS untuk MySQL tidak berada di wilayah yang sama dengan aplikasi OpenSearch. | Periksa apakah ID instance benar dan apakah instance ApsaraDB RDS untuk MySQL berada di wilayah yang sama dengan aplikasi OpenSearch tempat Anda ingin mengonfigurasi sumber data. Jika ID instance benar dan instance ApsaraDB RDS untuk MySQL berada di wilayah yang sama dengan aplikasi OpenSearch tetapi pesan kesalahan masih muncul, ajukan tiket. |
Gagal terhubung ke layanan RDS. | Periksa apakah ID instance, nama database, nama pengguna, dan kata sandi dalam string koneksi yang digunakan untuk terhubung ke instance ApsaraDB RDS untuk MySQL valid. |
Tabel tidak ada di instance ApsaraDB RDS untuk MySQL saat ini. | Periksa apakah nama tabel valid dan apakah tabel ada di sumber data ApsaraDB RDS untuk MySQL. |
3. Setelah koneksi berhasil dibuat, panel seperti yang ditunjukkan pada gambar berikut ditampilkan. Di bagian Pilih Tabel, pilih tabel di kotak Tabel di sebelah kiri, klik panah kanan untuk menambahkan tabel ke kotak Terpilih di sebelah kanan, lalu klik OK.

Pilih atau masukkan nama tabel yang akan diakses. Nama bersifat peka huruf besar/kecil.
Anda dapat menggunakan tanda bintang (*) untuk mencocokkan beberapa tabel dengan skema tabel yang sama di database. Nama tabel-tabel ini memiliki awalan yang sama. Sebagai contoh, Anda dapat memasukkan table_* untuk mencocokkan tabel seperti table_a dan table_b.
4. Di langkah Pemetaan Bidang, pilih bidang yang akan ditarik dari database dan klik OK.

Di langkah Pemetaan Bidang, Anda dapat menambahkan bidang database yang akan disinkronkan ke OpenSearch.
Anda dapat mengklik tanda plus (+) bidang di kolom Konversi Konten untuk menambahkan plugin pemrosesan data untuk memproses bidang tersebut. Untuk informasi lebih lanjut tentang cara menggunakan plugin pemrosesan data, lihat Gunakan Plugin Pemrosesan Data.

5. Tentukan kondisi filter untuk menyaring data dari sumber data ApsaraDB RDS untuk MySQL.

Anda dapat mengonfigurasi beberapa sumber data untuk tabel di aplikasi OpenSearch. Skema dan konfigurasi tabel sumber di sumber data harus sama.
Setelah kondisi filter yang Anda tentukan berlaku, hanya entri data yang memenuhi kondisi filter yang ditarik. Untuk informasi lebih lanjut, lihat Konfigurasikan Kondisi untuk Menyaring Bidang di Sumber Data ApsaraDB RDS dan PolarDB.