全部产品
Search
文档中心

Data Transmission Service:Sinkronkan data dari database MySQL yang dikelola sendiri yang dihosting di ECS ke instance ApsaraDB RDS for MySQL

更新时间:Jul 06, 2025

Anda dapat menggunakan Data Transmission Service (DTS) untuk menyinkronkan data inkremental dari database MySQL yang dikelola sendiri di Elastic Compute Service (ECS) ke ApsaraDB RDS for MySQL secara real-time.

Prasyarat

  • Versi engine database MySQL yang dikelola sendiri adalah 5.1, 5.5, 5.6, 5.7, atau 8.0.

  • Instance ApsaraDB RDS for MySQL telah dibuat. Untuk informasi lebih lanjut, lihat Buat Instance ApsaraDB RDS for MySQL..

Perhatian

  • DTS menggunakan sumber daya baca dan tulis instance RDS sumber dan tujuan selama sinkronisasi data penuh awal. Hal ini dapat meningkatkan beban pada instance RDS. Jika performa instance tidak memadai, spesifikasinya rendah, atau volume datanya besar, layanan database mungkin terganggu. Sebagai contoh, DTS menggunakan sejumlah besar sumber daya baca dan tulis dalam kasus berikut: banyak kueri SQL lambat dilakukan pada instance RDS sumber, tabel tidak memiliki kunci utama, atau terjadi deadlock pada instance RDS tujuan. Sebelum melakukan sinkronisasi data, evaluasi dampaknya terhadap performa instance RDS sumber dan tujuan. Kami menyarankan Anda menjalankan sinkronisasi data selama jam non-puncak. Misalnya, Anda dapat menyinkronkan data ketika utilisasi CPU instance RDS sumber dan tujuan kurang dari 30%.

  • Kami menyarankan Anda untuk tidak menggunakan gh-ost atau pt-online-schema-change untuk melakukan operasi DDL pada objek selama sinkronisasi data. Jika tidak, sinkronisasi data mungkin gagal.

  • Jika Anda hanya menggunakan DTS untuk menulis data ke database tujuan, Anda dapat menggunakan Data Management (DMS) untuk melakukan operasi DDL online selama sinkronisasi data. Untuk informasi lebih lanjut, lihat Lakukan Operasi DDL Tanpa Kunci.

  • Tabel yang akan dimigrasi di database sumber harus memiliki batasan PRIMARY KEY atau UNIQUE, dan semua bidang harus unik. Jika tidak, database tujuan mungkin berisi catatan data duplikat.

  • Selama sinkronisasi data penuh awal, operasi INSERT bersamaan menyebabkan fragmentasi di tabel instance tujuan. Setelah sinkronisasi data penuh awal, ruang tabel cluster tujuan lebih besar daripada database sumber.

  • Jika database tujuan adalah instance ApsaraDB RDS for MySQL yang tidak menjalankan MySQL 5.7 atau 8.0, DTS membuat akun database dtssyncwriter dengan izin tulis dan eksklusif untuk DTS pada database tujuan.

Penagihan

Jenis SinkronisasiBiaya Konfigurasi Tugas
Sinkronisasi skema dan data penuhGratis.
Sinkronisasi data inkrementalDikenakan biaya. Untuk informasi lebih lanjut, lihat Ikhtisar Penagihan.

Topologi sinkronisasi yang didukung

  • Sinkronisasi satu arah satu-ke-satu

  • Sinkronisasi satu arah satu-ke-banyak

  • Sinkronisasi satu arah banyak-ke-satu

  • Sinkronisasi satu arah bertingkat

  • Sinkronisasi dua arah satu-ke-satu

    Catatan

    Untuk informasi lebih lanjut tentang sinkronisasi dua arah, lihat Konfigurasikan Sinkronisasi Dua Arah antara Database MySQL.

Operasi SQL yang dapat disinkronkan

Jenis Operasi

Pernyataan SQL

DML

INSERT, UPDATE, DELETE, dan REPLACE

DDL

  • ALTER TABLE dan ALTER VIEW

  • CREATE FUNCTION, CREATE INDEX, CREATE PROCEDURE, CREATE TABLE, dan CREATE VIEW

  • DROP INDEX dan DROP TABLE

  • RENAME TABLE

    Penting

    Operasi RENAME TABLE dapat menyebabkan ketidaksesuaian data antara database sumber dan tujuan. Sebagai contoh, jika Anda memilih tabel sebagai objek yang akan disinkronkan dan mengubah nama tabel selama sinkronisasi data, data tabel ini tidak disinkronkan ke database tujuan. Untuk mencegah situasi ini, Anda dapat memilih database tempat tabel ini berada sebagai objek yang akan disinkronkan saat Anda mengonfigurasi tugas sinkronisasi data. Pastikan bahwa database tempat tabel berada sebelum dan sesudah operasi RENAME TABLE ditambahkan ke objek yang akan disinkronkan.

  • TRUNCATE TABLE

Batasan

  • Ketidakcocokan dengan Pemicu

    Jika Anda memilih database sebagai objek yang akan disinkronkan dan database tersebut berisi pemicu yang memperbarui tabel, ketidaksesuaian data mungkin terjadi. Untuk informasi lebih lanjut tentang cara menyelesaikan masalah ini, lihat Konfigurasikan Tugas Sinkronisasi atau Migrasi Data untuk Database Sumber yang Berisi Pemicu.

  • Batasan pada Operasi RENAME TABLE

    Operasi RENAME TABLE dapat menyebabkan ketidaksesuaian data antara database sumber dan tujuan. Sebagai contoh, jika hanya Tabel A yang dipilih sebagai objek yang akan disinkronkan dan diubah namanya menjadi Tabel B, Tabel B tidak dapat disinkronkan ke database tujuan. Untuk mencegah situasi ini, Anda dapat memilih seluruh database tempat Tabel A berada sebagai objek yang akan disinkronkan saat mengonfigurasi tugas sinkronisasi data.

Persiapan

Sebelum mengonfigurasi tugas sinkronisasi data, Anda harus membuat akun database dan mengonfigurasi pencatatan biner. Untuk informasi lebih lanjut, lihat Buat Akun untuk Database MySQL yang Dikelola Sendiri dan Konfigurasikan Pencatatan Biner.

Prosedur

  1. Beli instance sinkronisasi data. Untuk informasi lebih lanjut, lihat Beli Instance DTS.

    Catatan

    Pilih MySQL untuk instance sumber dan tujuan. Pilih One-way Synchronization sebagai topologi sinkronisasi.

  2. Masuk ke Konsol DTS.

    Catatan
    • Jika Anda dialihkan ke konsol DMS dari konsol DTS, Anda dapat memindahkan penunjuk ke ikon jiqir di sudut kanan bawah dan klik ikon re untuk kembali ke konsol DTS.

    • Jika versi baru konsol DTS muncul setelah login, Anda dapat mengklik ikon ret di sudut kanan bawah untuk kembali ke versi sebelumnya.

  3. Di panel navigasi di sebelah kiri, klik Data Synchronization.

  4. Di bagian atas halaman Data Synchronization Tasks, pilih wilayah tempat instance tujuan berada.

  5. Temukan instance sinkronisasi data dan klik Configure Task di kolom Tindakan. Configure a one-way data synchronization task

  6. Konfigurasikan instance sumber dan tujuan. Configure the source and destination instances

    Bagian

    Parameter

    Deskripsi

    Tidak Ada

    Nama Tugas Sinkronisasi

    Nama tugas yang DTS hasilkan secara otomatis. Kami menyarankan Anda menentukan nama deskriptif yang memudahkan identifikasi tugas. Anda tidak perlu menggunakan nama tugas unik.

    Detail Instance Sumber

    Jenis Instance

    Pilih User-Created Database in ECS Instance.

    Wilayah Instance

    Wilayah sumber yang Anda pilih di halaman pembelian. Nilai parameter ini tidak dapat diubah.

    ID Instance ECS

    ID instance ECS yang meng-hosting database MySQL yang dikelola sendiri.

    Jenis Database

    Nilai parameter ini diatur ke MySQL dan tidak dapat diubah.

    Nomor Port

    Nomor port layanan dari database MySQL yang dikelola sendiri. Nilai default: 3306.

    Akun Database

    Akun dari database MySQL yang dikelola sendiri. Akun tersebut harus memiliki izin SELECT pada objek yang diperlukan dan izin REPLICATION CLIENT, REPLICATION SLAVE, dan SHOW VIEW.

    Kata Sandi Database

    Kata sandi untuk akun database MySQL yang dikelola sendiri.

    Detail Instance Tujuan

    Jenis Instance

    Pilih RDS Instance.

    Wilayah Instance

    Wilayah tujuan yang Anda pilih di halaman pembelian. Nilai parameter ini tidak dapat diubah.

    ID Instance

    ID instance ApsaraDB RDS tujuan.

    Akun Database

    Akun database dari instance ApsaraDB RDS tujuan.

    Catatan

    Jika mesin database dari instance ApsaraDB RDS tujuan adalah MySQL 5.5 atau MySQL 5.6, Anda tidak perlu mengonfigurasi parameter Database Account atau Database Password.

    Kata Sandi Database

    Kata sandi akun database.

    Enkripsi

    Pilih Non-encrypted atau SSL-encrypted. Jika Anda ingin memilih SSL-encrypted, Anda harus mengaktifkan enkripsi SSL untuk instance ApsaraDB RDS sebelum mengonfigurasi tugas sinkronisasi data. Untuk informasi lebih lanjut, lihat Gunakan sertifikat cloud untuk mengaktifkan enkripsi SSL.

    Penting

    Parameter Encryption hanya tersedia di wilayah di daratan Tiongkok dan wilayah China (Hong Kong).

  7. Di sudut kanan bawah halaman, klik Set Whitelist and Next.

  8. Pilih kebijakan sinkronisasi dan objek yang akan disinkronkan. Select objects for a one-way data synchronization task

    Parameter/Bagian

    Deskripsi

    Pilih Objek yang Akan Disinkronkan

    Pilih satu atau beberapa objek dari bagian Available dan klik ikon 向右小箭头 untuk memindahkan objek ke bagian Selected.

    Anda dapat memilih tabel atau database sebagai objek yang akan disinkronkan.

    Catatan
    • Jika Anda memilih database sebagai objek yang akan disinkronkan, semua perubahan skema di database disinkronkan ke database tujuan.

    • Secara default, setelah objek disinkronkan ke database tujuan, nama objek tetap tidak berubah. Anda dapat menggunakan fitur pemetaan nama objek untuk mengubah nama objek yang disinkronkan ke database tujuan. Untuk informasi lebih lanjut, lihat Ubah nama objek yang akan disinkronkan.

    Ubah Nama Database dan Tabel

    Anda dapat menggunakan fitur pemetaan nama objek untuk mengubah nama objek yang disinkronkan ke instance tujuan. Untuk informasi lebih lanjut, lihat Pemetaan nama objek.

    Apakah Anda ingin menyalin tabel sementara ke database tujuan selama DDL

    Jika Anda menggunakan DMS untuk melakukan operasi DDL online pada database sumber, Anda dapat menentukan apakah akan menyinkronkan tabel sementara yang dihasilkan oleh operasi DDL online.

    • Yes: DTS menyinkronkan data tabel sementara yang dihasilkan oleh operasi DDL online.

      Catatan

      Jika operasi DDL online menghasilkan sejumlah besar data, tugas sinkronisasi data mungkin tertunda.

    • No: DTS tidak menyinkronkan data tabel sementara yang dihasilkan oleh operasi DDL online. Hanya data DDL asli dari database sumber yang disinkronkan.

      Catatan

      Jika Anda memilih Tidak, tabel di database tujuan mungkin terkunci.

    Waktu Ulang Koneksi Gagal

    Secara default, jika DTS gagal terhubung ke database sumber atau tujuan, DTS mencoba ulang dalam waktu 720 menit (12 jam) berikutnya. Anda dapat menentukan waktu percobaan ulang berdasarkan kebutuhan Anda. Jika DTS berhasil terhubung kembali ke database sumber dan tujuan dalam waktu yang ditentukan, DTS melanjutkan tugas sinkronisasi data. Jika tidak, tugas sinkronisasi data gagal.

    Catatan

    Saat DTS mencoba ulang koneksi, Anda dikenakan biaya untuk instance DTS. Kami menyarankan Anda menentukan waktu percobaan ulang berdasarkan kebutuhan bisnis Anda. Anda juga dapat melepaskan instance DTS secepat mungkin setelah instance sumber dan tujuan dilepaskan.

  9. Di sudut kanan bawah halaman, klik Next.

  10. Pilih jenis sinkronisasi awal. Advanced settings

    • Selama sinkronisasi awal, DTS menyinkronkan skema dan data objek yang diperlukan dari instance sumber ke instance tujuan. Skema dan data ini adalah dasar untuk sinkronisasi inkremental berikutnya.

    • Sinkronisasi awal mencakup sinkronisasi skema awal dan sinkronisasi data penuh awal. Dalam kebanyakan kasus, Anda harus memilih Initial Schema Synchronization dan Initial Full Data Synchronization.

  11. Di sudut kanan bawah halaman, klik Precheck.

    Penting
    • Sebelum memulai tugas sinkronisasi data, pemeriksaan awal dilakukan. Anda hanya dapat memulai tugas sinkronisasi data setelah tugas lulus pemeriksaan awal.

    • Jika tugas gagal lulus pemeriksaan awal, Anda dapat mengklik ikon Info di sebelah setiap item yang gagal untuk melihat detailnya.

      • Setelah menyelesaikan masalah berdasarkan penyebabnya, Anda dapat menjalankan pemeriksaan ulang.

      • Jika Anda tidak perlu menyelesaikan masalah tersebut, Anda dapat mengabaikan item yang gagal dan menjalankan pemeriksaan ulang.

  12. Tutup kotak dialog Precheck setelah pesan The precheck is passed. ditampilkan di kotak dialog Precheck. Kemudian, tugas sinkronisasi data dimulai.

  13. Tunggu hingga sinkronisasi awal selesai dan tugas sinkronisasi data memasuki status Synchronizing.

    Anda dapat melihat status tugas sinkronisasi data di halaman Synchronization Tasks.