All Products
Search
Document Center

ApsaraDB RDS:Membuat Database Sekunder Berbasis Cloud Menggunakan Replikasi Asli RDS

Last Updated:Nov 10, 2025

ApsaraDB RDS for MySQL mendukung pembuatan instans replikasi asli. Instans ini dapat digunakan untuk membangun database sekunder yang tersedia tinggi dan hanya-baca di cloud untuk database MySQL yang dikelola sendiri. Topik ini menjelaskan cara membuat instans replikasi asli serta mengonfigurasi tautan replikasi data dari database yang dikelola sendiri ke instans replikasi asli RDS for MySQL.

Prasyarat

  • Diperlukan instans RDS yang mendukung replikasi asli. Anda dapat membuat yang baru atau meningkatkan yang sudah ada. Instans tersebut harus memenuhi kondisi berikut, yang dapat dilihat di halaman Basic Information:

    • Versi database: MySQL 5.7 (versi minor 20240930 atau lebih baru) atau 8.0 (versi minor 20250531 atau lebih baru).

    • Seri produk: Edisi Dasar.

    • Metode penagihan: langganan dan bayar sesuai penggunaan

      Catatan

      Untuk menggunakan instans replikasi asli Serverless, Anda harus terlebih dahulu membuat instans bayar sesuai penggunaan, mengaktifkan replikasi asli, lalu mengubah metode penagihan menjadi Serverless.

    • Wilayah yang didukung: Tiongkok (Shanghai), Tiongkok (Beijing), Tiongkok (Shenzhen), Tiongkok (Guangzhou), dan Tiongkok (Chengdu).

      Penting

      Replikasi asli ApsaraDB RDS saat ini hanya tersedia di wilayah-wilayah yang terdaftar di atas. Dukungan untuk wilayah lainnya sedang diluncurkan. Jika Anda memerlukan fitur ini di wilayah lain, silakan ajukan tiket.

  • Anda telah membuat akun istimewa untuk instans RDS for MySQL.

  • Anda telah menetapkan koneksi jaringan antara database MySQL yang dikelola sendiri dan instans RDS for MySQL. Untuk informasi lebih lanjut, lihat Konfigurasi jaringan.

Ikhtisar alur kerja

Proses membuat database sekunder berbasis cloud menggunakan replikasi asli RDS melibatkan tiga langkah:

  1. Lakukan cadangan penuh dari database MySQL yang dikelola sendiri.

  2. Impor cadangan penuh dari database MySQL yang dikelola sendiri ke instans replikasi asli RDS for MySQL.

  3. Gunakan perintah MySQL untuk menyiapkan tautan replikasi dari database MySQL yang dikelola sendiri ke instans replikasi asli RDS for MySQL.

Solusi 1: Cadangan stream XtraBackup, Object Storage Service, dan impor data ke instans replikasi asli

Keuntungan

Instans replikasi asli RDS for MySQL sepenuhnya kompatibel dengan XtraBackup cadangan fisik dan mendukung fitur-fitur berikut:

  • Secara otomatis mendeteksi GTID dalam file cadangan untuk menyelaraskan offset guna menyiapkan tautan replikasi.

  • Anda dapat mengunggah file cadangan ke Object Storage Service (OSS) dan mengaktifkan enkripsi sisi server untuk memastikan keamanan data.

  • Anda dapat membangun kembali instans replikasi asli dari set cadangan yang dipilih, membantu menyelesaikan masalah pemutusan replikasi yang kompleks.

Penagihan

  • Anda akan dikenakan biaya biaya instans ketika membuat instans baru dengan replikasi asli diaktifkan. Meningkatkan instans yang ada menjadi instans replikasi asli tidak menimbulkan biaya tambahan.

  • Jika Anda mengimpor data penuh dengan mengunggah cadangan database yang dikelola sendiri ke Object Storage Service (OSS), biaya penyimpanan OSS dikenakan untuk menyimpan file cadangan di OSS.

Prosedur

  1. Instal XtraBackup dan Lakukan Cadangan pada Database yang Dikelola Sendiri

    1. Instal XtraBackup:

      Instal pada CentOS

      • MySQL 5.7

        wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.29/binary/redhat/8/x86_64/percona-xtrabackup-24-2.4.29-1.el8.x86_64.rpm
        yum localinstall percona-xtrabackup-24-2.4.29-1.el8.x86_64.rpm
      • MySQL 8.0

        wget https://downloads.percona.com/downloads/Percona-XtraBackup-8.0/Percona-XtraBackup-8.0.35-31/binary/redhat/8/x86_64/percona-xtrabackup-80-8.0.35-31.1.el8.x86_64.rpm
        yum localinstall percona-xtrabackup-80-8.0.35-31.1.el8.x86_64.rpm

      Instalasi pada Ubuntu

      1. Instal XtraBackup

        • MySQL 5.7

          wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.29/binary/redhat/8/x86_64/percona-xtrabackup-24-2.4.29-1.el8.x86_64.rpm
          yum localinstall percona-xtrabackup-24-2.4.29-1.el8.x86_64.rpm
        • MySQL 8.0

          wget https://downloads.percona.com/downloads/Percona-XtraBackup-8.0/Percona-XtraBackup-8.0.35-31/binary/redhat/8/x86_64/percona-xtrabackup-80-8.0.35-31.1.el8.x86_64.rpm
          yum localinstall percona-xtrabackup-80-8.0.35-31.1.el8.x86_64.rpm
      2. Instal qpress: Karena XtraBackup yang diinstal pada Ubuntu tidak termasuk qpress, Anda harus menginstalnya secara terpisah.

        sudo apt-get install -y qpress
    2. Lakukan cadangan:

      Ketiga metode kompresi berikut didasarkan pada perintah XtraBackup dan cocok untuk instans yang utamanya menggunakan engine InnoDB. Jika database Anda berisi tabel MyISAM, gunakan perintah innobackupex.

      Metode 1: Kompresi qpress default

      xtrabackup --backup \
        --host=127.0.0.1 \
        --port=3306 \
        --user=<user_of_self-managed_MySQL> \
        --password=<password> \
        --stream=xbstream \
        --compress > ./<backup_file_name_such_as_backup_1206.xb>

      Metode 2: Kompresi QuickLZ

      Metode ini memerlukan Anda menggunakan versi XtraBackup 8.0.34-29 atau lebih lama. Untuk informasi lebih lanjut, lihat tutorial resmi Percona XtraBackup.

      xtrabackup --backup \
        --host=127.0.0.1 \
        --port=3306 \
        --user=<user_of_self-managed_MySQL> \
        --password=<password> \
        --stream=xbstream \
        --compress > ./<backup_file_name_such_as_backup_1206_qp.xb>

      Metode 3: Kompresi ZSTD eksternal

      xtrabackup --backup \
        --host=127.0.0.1 \
        --port=3306 \
        --user=<user_of_self-managed_MySQL> \
        --password=<password> \
        --stream=xbstream \
        | zstd -q - > ./<backup_file_name_such_as_backup_1206.xb.zstd>
  2. Unggah Cadangan Database yang Dikelola Sendiri ke OSS

    Anda dapat menggunakan alat yang berbeda untuk mengunggah file cadangan, seperti ossutil atau kit pengembangan perangkat lunak (SDK) OSS. Topik ini menggunakan ossutil sebagai contoh.

    Penting

    Pastikan Bucket OSS tujuan berada di wilayah yang sama dengan instans RDS for MySQL. Jika tidak, RDS tidak akan dapat mengambil file cadangan OSS selama proses pengunggahan.

    1. Instal ossutil.

      yum install -y unzip
      sudo -v ; curl https://gosspublic.alicdn.com/ossutil/install.sh | sudo bash
      ossutil config
    2. Unggah data cadangan ke OSS.

      ossutil -e <OSS_Endpoint> -i <your_AccessKeyId> -k <your_AccessKeySecret> cp <backup_file_name> oss://<Bucket_name>/
  3. Impor File Cadangan dari OSS ke RDS dan Atur Tautan Replikasi Secara Otomatis

    1. Pergi ke daftar Instans RDS, pilih wilayah, dan klik ID instans target.

    2. Di panel navigasi di sebelah kiri, klik Native Replication.

    3. Di halaman Replikasi Asli, klik Import Full Data, konfigurasikan parameter, dan klik OK.

      Kategori Konfigurasi

      Parameter

      Deskripsi

      Metode Unggah Cadangan (Wajib)

      MySQL Version

      Sistem secara otomatis menampilkan 5.7 atau 8.0. Tidak diperlukan konfigurasi.

      Method

      Pilih Download From OSS.

      OSS Bucket

      Pilih Bucket OSS tempat file cadangan database yang dikelola sendiri disimpan. Untuk informasi lebih lanjut tentang Bucket OSS, lihat Unggah file.

      OSS File Name

      Pilih file cadangan untuk database yang dibangun sendiri dari Bucket OSS. Jika file cadangan disimpan di subdirektori Bucket OSS, Anda harus memasukkan jalur lengkap secara manual untuk pencarian. Ketiga format file cadangan berikut didukung:

      • File xbstream yang dihasilkan langsung oleh XtraBackup.

      • File _qp.xb yang dihasilkan menggunakan kompresi quicklz bawaan XtraBackup.

      • File xbstream yang dikompresi dengan zstd (dengan akhiran .xb.zst).

      Kami merekomendasikan untuk mengaktifkan pengaturan replikasi otomatis. Sistem akan secara otomatis menyiapkan tautan replikasi data berdasarkan konfigurasi berikut. Jika Anda tidak mengaktifkan pengaturan replikasi otomatis, Anda harus menyiapkan tautan replikasi secara manual setelah mengimpor data penuh.

      Konfigurasi Tautan Replikasi Otomatis (Opsional)

      Automatic Replication Setup

      Nyalakan saklar untuk secara otomatis menyiapkan hubungan replikasi dari database MySQL yang dikelola sendiri ke instans ApsaraDB RDS for MySQL.

      Replication Source IP

      Masukkan alamat IP dari database sumber yang dikelola sendiri.

      Replication Source Port

      Masukkan nomor port dari database sumber yang dikelola sendiri.

      Replication Source Account

      Masukkan akun dari database sumber yang dikelola sendiri. Akun sumber harus memiliki izin REPLICATION CLIENT dan REPLICATION SLAVE.

      Replication Account Password

      Masukkan kata sandi untuk akun dari database sumber yang dikelola sendiri.

  4. Lihat Status Replikasi

    Kembali ke halaman Native Replication untuk instans RDS untuk melihat informasi tautan replikasi data. Ketika status replikasi adalah Running, tautan replikasi data telah ditetapkan.

Solusi 2: Cadangan stream XtraBackup, transfer cadangan stream langsung, dan impor data ke instans replikasi asli

Keuntungan

Kegunaan tinggi dengan operasi berbasis konsol dan pengaturan tautan replikasi otomatis.

Penagihan

Anda akan dikenakan biaya biaya instans ketika membuat instans baru dengan replikasi asli diaktifkan. Meningkatkan instans yang ada menjadi instans replikasi asli tidak menimbulkan biaya tambahan.

Prosedur

  1. Instal XtraBackup dan Lakukan Cadangan pada Database yang Dikelola Sendiri

    1. Instal XtraBackup:

      Instal pada CentOS

      • MySQL 5.7

        wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.29/binary/redhat/8/x86_64/percona-xtrabackup-24-2.4.29-1.el8.x86_64.rpm
        yum localinstall percona-xtrabackup-24-2.4.29-1.el8.x86_64.rpm
      • MySQL 8.0

        wget https://downloads.percona.com/downloads/Percona-XtraBackup-8.0/Percona-XtraBackup-8.0.35-31/binary/redhat/8/x86_64/percona-xtrabackup-80-8.0.35-31.1.el8.x86_64.rpm
        yum localinstall percona-xtrabackup-80-8.0.35-31.1.el8.x86_64.rpm

      Instal pada Ubuntu

      1. Instal XtraBackup

        • MySQL 5.7

          wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.29/binary/redhat/8/x86_64/percona-xtrabackup-24-2.4.29-1.el8.x86_64.rpm
          yum localinstall percona-xtrabackup-24-2.4.29-1.el8.x86_64.rpm
        • MySQL 8.0

          wget https://downloads.percona.com/downloads/Percona-XtraBackup-8.0/Percona-XtraBackup-8.0.35-31/binary/redhat/8/x86_64/percona-xtrabackup-80-8.0.35-31.1.el8.x86_64.rpm
          yum localinstall percona-xtrabackup-80-8.0.35-31.1.el8.x86_64.rpm
      2. Instal qpress: Karena XtraBackup yang diinstal pada Ubuntu tidak termasuk qpress, Anda harus menginstalnya secara terpisah.

        sudo apt-get install -y qpress
    2. Lakukan cadangan:

      Ketiga metode kompresi berikut didasarkan pada perintah XtraBackup dan cocok untuk instans yang utamanya menggunakan engine InnoDB. Jika database Anda berisi tabel MyISAM, gunakan perintah innobackupex.

      Metode 1: Kompresi qpress default

      xtrabackup --backup \
        --host=127.0.0.1 \
        --port=3306 \
        --user=<user_of_self-managed_MySQL> \
        --password=<password> \
        --stream=xbstream \
        --compress > ./<backup_file_name_such_as_backup_1206.xb>

      Metode 2: Kompresi QuickLZ

      Metode ini memerlukan Anda menggunakan versi XtraBackup 8.0.34-29 atau lebih lama. Untuk informasi lebih lanjut, lihat tutorial resmi Percona XtraBackup.

      xtrabackup --backup \
        --host=127.0.0.1 \
        --port=3306 \
        --user=<user_of_self-managed_MySQL> \
        --password=<password> \
        --stream=xbstream \
        --compress > ./<backup_file_name_such_as_backup_1206_qp.xb>

      Metode 3: Kompresi ZSTD eksternal

      xtrabackup --backup \
        --host=127.0.0.1 \
        --port=3306 \
        --user=<user_of_self-managed_MySQL> \
        --password=<password> \
        --stream=xbstream \
        | zstd -q - > ./<backup_file_name_such_as_backup_1206.xb.zstd>
  2. Transfer Cadangan Database yang Dikelola Sendiri ke RDS

    1. Instal alat backup-helper pada database yang dikelola sendiri dan tetapkan proses transfer cadangan

      # Instal alat backup-helper
      wget -O backup-helper https://mysql-backup-helper.oss-cn-beijing.aliyuncs.com/v1.0.0-alpha/backup-helper && chmod +x backup-helper
      
      # Tetapkan proses transfer cadangan menggunakan alat (Pastikan MySQL berjalan di lingkungan dan versi XtraBackup yang sesuai telah diinstal berdasarkan versi database yang dikelola sendiri)
      ./backup-helper --backup --mode=stream --host=<MySQL_IP> --port=<MySQL_port> --user=<MySQL_account> --password=<MySQL_password>
    2. Impor Data ke RDS

      1. Masuk ke Konsol ApsaraDB RDS, pilih wilayah di bagian atas halaman, dan klik ID instans.

      2. Di panel navigasi di sebelah kiri, klik Native Replication.

      3. Di halaman Replikasi Asli, klik Import Full Data, konfigurasikan parameter, dan klik OK.

        Kategori Konfigurasi

        Parameter

        Deskripsi

        Metode Unggah Cadangan (Wajib)

        MySQL Version

        Sistem secara otomatis menampilkan 5.7 atau 8.0. Tidak diperlukan konfigurasi.

        Method

        Pilih Direct Stream Backup.

        Backup Source IP

        Masukkan alamat IP untuk transfer cadangan.

        Backup Source Port

        Masukkan port untuk transfer cadangan. Default adalah 9999.

        Kami merekomendasikan untuk mengaktifkan pengaturan replikasi otomatis. Sistem akan secara otomatis menyiapkan tautan replikasi data berdasarkan konfigurasi berikut. Jika Anda tidak mengaktifkan pengaturan replikasi otomatis, Anda harus menyiapkan tautan replikasi secara manual setelah mengimpor data penuh.

        Konfigurasi Tautan Replikasi Otomatis (Opsional)

        Automatic Replication Setup

        Nyalakan saklar untuk secara otomatis menyiapkan hubungan replikasi dari database MySQL yang dikelola sendiri ke instans ApsaraDB RDS for MySQL.

        Replication Source IP

        Masukkan alamat IP dari database sumber yang dikelola sendiri.

        Replication Source Port

        Masukkan nomor port dari database sumber yang dikelola sendiri.

        Replication Source Account

        Masukkan akun dari database sumber yang dikelola sendiri. Akun sumber harus memiliki izin REPLICATION CLIENT dan REPLICATION SLAVE.

        Replication Account Password

        Masukkan kata sandi untuk akun dari database sumber yang dikelola sendiri.

  3. Lihat Status Replikasi

    Kembali ke halaman Native Replication untuk instans RDS untuk melihat informasi tautan replikasi data. Ketika status replikasi adalah Running, tautan replikasi data telah ditetapkan.

Solusi 3: Cadangan logis mysqldump, impor data DMS, dan penyiapan tautan replikasi berbasis SQL

Keuntungan

Kegunaan tinggi dengan operasi berbasis konsol.

Penagihan

Membuat instans RDS for MySQL baru menimbulkan biaya instans RDS dan biaya penyimpanan.

Prosedur

  1. Gunakan mysqldump untuk melakukan cadangan logis dari database MySQL yang dikelola sendiri dan dapatkan file SQL. Perintahnya adalah sebagai berikut:

    mysqldump --all-databases \
        --single-transaction \
        --order-by-primary \
        --set-gtid-purged=off \
        --master-data=2 \
        -u local_user \
        -p local_password \
        -h 127.0.0.1
        -P 3306 > data.sql
    • Karena RDS for MySQL tidak memberikan izin untuk memodifikasi SET GTID_PURGED, mengaktifkan parameter ini akan menyebabkan kesalahan pemutaran SQL. Oleh karena itu, Anda harus menyetel set-gtid-purged=off dalam perintah.

    • Ketika Anda menggunakan mysqldump untuk menyiapkan database sekunder, tambahkan opsi --master-data=2. Opsi ini secara otomatis menghasilkan komentar yang berisi pernyataan CHANGE MASTER TO. Ini memudahkan untuk mengambil nama file pencatatan biner dan posisi dari database utama tanpa harus menanyakan dan memasukkan offset replikasi secara manual. Sebagai contoh:

      image.png

  2. Impor cadangan logis menggunakan DMS.

    1. Masuk ke database RDS for MySQL menggunakan DMS (gunakan akun istimewa).

    2. Klik ikon 2023-01-28_15-57-17.png di sudut kiri atas konsol DMS dan pilih All Features > Database Development > Data Change > Data Import.

      Catatan

      Jika Anda menggunakan konsol dalam mode non-streamlined, pilih Database Development > Data Change > Data Import dari bilah menu atas.

    3. Di halaman Data Change Ticket Application, pilih Batch Data Import, tentukan target database RDS for MySQL, dan unggah file SQL cadangan logis. Untuk informasi lebih lanjut tentang parameter konfigurasi lainnya, lihat Impor Data.

  3. Jalankan perintah di DMS untuk menyiapkan tautan replikasi.

    Penting

    Mengimpor cadangan logis menggunakan DMS menghasilkan log biner dan GTID terpisah pada database sekunder berbasis cloud. Jika Anda beralih database sekunder ini menjadi node utama, GTID ekstra ini mungkin direplikasi ke node lain dan menyebabkan pemutusan replikasi. Untuk menghindari masalah ini, ambil salah satu tindakan berikut:

    • Sebelum menyiapkan replikasi, nonaktifkan lalu aktifkan kembali replikasi asli. Operasi ini menjalankan RESET MASTER.

    • Sisipkan transaksi kosong pada node lain dalam topologi replikasi untuk menimpa GTID yang berlebih. Ini bertindak sebagai placeholder.

    # Siapkan replikasi
    CHANGE MASTER TO MASTER_HOST = '<source_host_IP>', MASTER_USER = '<replication_user>',MASTER_PASSWORD ='<replication_password>', MASTER_PORT = 3306,MASTER_LOG_FILE = '<binlog_file_name>',MASTER_LOG_POS = 190;
    # Mulai replikasi
    START SLAVE;
    # Periksa status replikasi
    SHOW SLAVE STATUS\G