全部产品
Search
文档中心

ApsaraDB RDS:Migrasi data dari instance MySQL 5.7 atau MySQL 8.0 yang dikelola sendiri ke instance ApsaraDB RDS untuk MySQL

更新时间:Jul 06, 2025

Topik ini menjelaskan cara memigrasikan data dari instance MySQL yang dikelola sendiri ke instance ApsaraDB RDS untuk MySQL yang menjalankan versi MySQL yang sama dengan instance MySQL yang dikelola sendiri. Anda dapat melakukan backup penuh pada instance MySQL yang dikelola sendiri, mengunggah file backup penuh ke Bucket OSS (Object Storage Service), mengimpor file backup penuh dari Bucket OSS ke konsol manajemen ApsaraDB RDS, dan kemudian memulihkan data dari file backup penuh ke instance RDS baru.

Prasyarat

  • Instance MySQL yang dikelola sendiri memenuhi kondisi migrasi cloud. Untuk informasi lebih lanjut, lihat Lampiran 4: Batasan.

  • Bucket OSS dibuat di wilayah tempat instance RDS berada. Untuk informasi lebih lanjut tentang cara membuat bucket, lihat Buat Bucket.

    Catatan

    Bucket OSS yang Anda buat harus berada di wilayah yang sama dengan instance RDS.

Proses migrasi

Proses migrasi terdiri dari langkah-langkah berikut:

Langkah 1: Instal Percona XtraBackup

Langkah 2: Instal MySQL Backup Helper

Langkah 3: Backup Instance MySQL yang Dikelola Sendiri dan Migrasikan Data Backup ke Instance RDS

Lingkungan

Dalam topik ini, instance MySQL yang dikelola sendiri diterapkan pada Instance ECS (Elastic Compute Service). Gambar yang digunakan untuk membuat instance MySQL yang dikelola sendiri menjalankan CentOS Linux V8.3.2011. Jika gambar menjalankan distribusi Linux lainnya, Anda harus menggunakan perintah yang sesuai. Untuk informasi lebih lanjut, lihat Buat Instance di Tab Peluncuran Kustom.

Langkah 1: Instal Percona XtraBackup

Percona XtraBackup dikembangkan oleh Percona untuk membantu Anda mencadangkan database MySQL tanpa memengaruhi waktu aktif. Percona XtraBackup kompatibel dengan berbagai mesin penyimpanan. Untuk informasi lebih lanjut tentang cara menginstal Percona XtraBackup di Ubuntu, lihat Lampiran 1: Instal XtraBackup di Ubuntu.

Anda harus memilih versi Percona XtraBackup berdasarkan versi MySQL.

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

Langkah 2: Instal MySQL Backup Helper

Prasyarat

  • Bahasa pemrograman Go telah diinstal. Jika Go belum diinstal, jalankan perintah berikut di CLI untuk menginstal Go:

    sudo yum install -y go
  • Utilitas Unzip telah diinstal. Jika Unzip belum diinstal, jalankan perintah berikut di CLI untuk menginstal Unzip:

    sudo yum install -y unzip
Catatan

Perintah sebelumnya hanya didukung untuk CentOS. Jika Anda menggunakan Ubuntu, instal utilitas berdasarkan Lampiran 2: Instal Go dan Unzip di Sistem Operasi Ubuntu.

Prosedur

  1. Unduh paket kode sumber MySQL Backup Helper.

    wget https://github.com/aliyun/mysql-backup-helper/archive/refs/heads/master.zip
    Catatan

    Anda dapat mengunduh paket kode sumber MySQL Backup Helper dari halaman mysql-backup-helper.

  2. Ekstrak paket kode sumber MySQL Backup Helper.

    unzip master.zip
  3. Pergi ke folder mysql-backup-helper-master dan kompilasi file main.go menjadi file yang dapat dieksekusi bernama backup_helper.

    cd mysql-backup-helper-master
    go build -a -o backup_helper main.go
  4. Pergi ke folder oss_stream dan kompilasi file oss_stream.go menjadi file yang dapat dieksekusi bernama oss_stream.

    cd oss_stream
    go build -a -o oss_stream oss_stream.go

Langkah 3: Backup instance MySQL yang dikelola sendiri dan migrasikan data backup ke instance RDS

  1. Gunakan MySQL Backup Helper untuk memeriksa apakah instance MySQL yang dikelola sendiri mendukung backup.

    cd ~/mysql-backup-helper-master && ./backup_helper -host <Alamat IP host tempat instance MySQL yang dikelola sendiri berada> -port <Port yang digunakan untuk terhubung ke instance MySQL yang dikelola sendiri> -user <Nama pengguna akun root yang digunakan untuk terhubung ke instance MySQL yang dikelola sendiri> --password <Kata sandi akun root yang digunakan untuk terhubung ke instance MySQL yang dikelola sendiri>

    backup_helper

  2. Jika instance MySQL yang dikelola sendiri mendukung backup, lakukan backup penuh pada instance MySQL yang dikelola sendiri dan unggah file backup penuh ke Bucket OSS Anda. Jika tidak ada Bucket OSS yang dibuat, buat satu. Untuk informasi lebih lanjut, lihat Prasyarat.

    Anda harus memilih perintah berdasarkan versi MySQL.

    MySQL 5.7

    innobackupex --backup --host=<Alamat IP host tempat instance MySQL yang dikelola sendiri berada> --port=<Port yang digunakan untuk terhubung ke instance MySQL yang dikelola sendiri> --user=<Nama pengguna akun root yang digunakan untuk terhubung ke instance MySQL yang dikelola sendiri> --password=<Kata sandi akun root yang digunakan untuk terhubung ke instance MySQL yang dikelola sendiri> --stream=xbstream --compress <Direktori sementara yang digunakan untuk menyimpan file backup penuh> | ./mysql-backup-helper-master/oss_stream/oss_stream -accessKeyId <ID AccessKey akun Alibaba Cloud Anda> -accessKeySecret <Rahasia AccessKey akun Alibaba Cloud Anda> -bucketName <Nama Bucket OSS Anda> -endpoint <Endpoint yang digunakan untuk terhubung ke Bucket OSS Anda> -objectName <Nama file backup penuh>

    Contoh:

    innobackupex --backup --host=127.0.0.1 --port=3306 --user=root --password=Aa123456@ --stream=xbstream --compress /root/mysql/data | ./mysql-backup-helper-master/oss_stream/oss_stream -accessKeyId LTAI**************** -accessKeySecret ****** -bucketName test -endpoint oss-********.aliyuncs.com -objectName backup_qp.xb

    Jumlah data dalam instance MySQL yang dikelola sendiri juga memengaruhi waktu yang diperlukan untuk menyelesaikan backup penuh. Semakin besar jumlah data, semakin lama waktu yang diperlukan. Jika instance MySQL yang dikelola sendiri memiliki jumlah data yang besar, kami sarankan Anda menjalankan perintah nohup untuk melakukan backup penuh di latar belakang. Dengan cara ini, Anda dapat mencegah gangguan pada backup penuh jika terjadi logoff yang tidak terduga. Contoh perintah:

    nohup sh -c 'innobackupex --backup --host=127.0.0.1 --port=3306 --user=root --password=Aa123456@ --stream=xbstream --compress /root/mysql/data | ./mysql-backup-helper-master/oss_stream/oss_stream -accessKeyId LTAI**************** -accessKeySecret ****** -bucketName test -endpoint oss-ap-southeast-1.aliyuncs.com -objectName backup_qp.xb' &

    MySQL 8.0

    xtrabackup --backup --host=<Alamat IP host tempat instance MySQL yang dikelola sendiri berada> --port=<Port yang digunakan untuk terhubung ke instance MySQL yang dikelola sendiri> --user=<Nama pengguna akun root yang digunakan untuk terhubung ke instance MySQL yang dikelola sendiri> --password=<Kata sandi akun root yang digunakan untuk terhubung ke instance MySQL yang dikelola sendiri> --stream=xbstream --compress <Direktori sementara yang digunakan untuk menyimpan file backup penuh> | ./mysql-backup-helper-master/oss_stream/oss_stream -accessKeyId <ID AccessKey akun Alibaba Cloud Anda> -accessKeySecret <Rahasia AccessKey akun Alibaba Cloud Anda> -bucketName <Nama Bucket OSS Anda> -endpoint <Endpoint yang digunakan untuk terhubung ke Bucket OSS Anda> -objectName <Nama file backup penuh>

    Contoh:

    xtrabackup --backup --host=127.0.0.1 --port=3306 --user=root --password=Aa123456@ --stream=xbstream --compress /root/mysql/data | ./mysql-backup-helper-master/oss_stream/oss_stream -accessKeyId LTAI**************** -accessKeySecret ******** -bucketName test -endpoint oss-****.aliyuncs.com -objectName backup_qp.xb

    Jumlah data dalam instance MySQL yang dikelola sendiri juga memengaruhi waktu yang diperlukan untuk menyelesaikan backup penuh. Semakin besar jumlah data, semakin lama waktu yang diperlukan. Jika instance MySQL yang dikelola sendiri memiliki jumlah data yang besar, kami sarankan Anda menjalankan perintah nohup untuk melakukan backup penuh di latar belakang. Dengan cara ini, Anda dapat mencegah gangguan pada backup penuh jika terjadi logoff yang tidak terduga. Contoh perintah:

    nohup sh -c 'xtrabackup --backup --host=127.0.0.1 --port=3306 --user=root --password=Aa123456@ --stream=xbstream  /root/mysql/data | ./mysql-backup-helper-master/oss_stream/oss_stream -accessKeyId LTAI**************** -accessKeySecret ****** -bucketName test -endpoint oss-ap-southeast-1.aliyuncs.com -objectName backup_qp.xb' &
    Catatan
    • Status instance MySQL yang dikelola sendiri selama backup penuh memengaruhi waktu yang diperlukan untuk menyelesaikan backup penuh. Misalnya, jika banyak catatan redo log dihasilkan dari banyak operasi tulis atau transaksi besar dijalankan selama backup penuh, waktu yang diperlukan meningkat. Saat backup penuh selesai, sistem menampilkan pesan completed OK !.

    • Jika Bucket OSS Anda sementara tidak dapat diakses, kami sarankan Anda menyimpan file backup penuh ke komputer Anda. Saat Bucket OSS Anda berfungsi seperti biasa, Anda dapat mengunggah file backup penuh ke Bucket OSS Anda. Untuk informasi lebih lanjut, lihat Lampiran 3: Lakukan Backup Penuh, Simpan File Backup Penuh ke Komputer Anda, dan Kemudian Unggah File Backup Penuh ke Bucket OSS Anda.

    • Setelah Anda mengunggah file backup penuh ke Bucket OSS Anda, Anda dapat masuk ke Konsol OSS untuk memeriksa apakah pengunggahan berhasil. Jika pengunggahan gagal, Anda dapat mengulangi langkah ini.

  3. Masuk ke Konsol ApsaraDB RDS. Di bilah navigasi atas, pilih wilayah tempat Anda ingin memulihkan data instance MySQL yang dikelola sendiri. Di panel navigasi di sebelah kiri, klik Backups.

  4. Pada tab User Backups, klik Import Backup.

  5. Di wizard Import Guide, baca pesan yang ditampilkan dan klik Next hingga Anda masuk ke langkah 3. Import Data.

    Catatan

    Panduan Impor Backup membimbing Anda melalui proses migrasi. Untuk informasi lebih lanjut, lihat Lampiran 3: Lakukan Backup Penuh, Simpan File Backup Penuh ke Komputer Anda, dan Kemudian Unggah File Backup Penuh ke Bucket OSS Anda.

    • 1. Back Up Source Database: Lakukan backup penuh pada instance MySQL yang dikelola sendiri.

    • 2. Upload Backup Files to OSS: Unggah file backup penuh instance MySQL yang dikelola sendiri ke Bucket OSS Anda.

  6. Di langkah Step 3: Import the data, konfigurasikan parameter berikut dan klik OK.

    Parameter

    Deskripsi

    MySQL version

    Nilai 5.7/8.0 ditampilkan secara otomatis.

    Catatan

    Anda dapat mengimpor data dari instance yang dikelola sendiri yang menjalankan MySQL 5.7 atau MySQL 8.0.

    Region

    Wilayah yang Anda tentukan di Langkah 1. Anda harus menyetel parameter ini ke wilayah Bucket OSS yang menyimpan file backup penuh.

    OSS Bucket

    Bucket OSS yang menyimpan file backup penuh instance MySQL yang dikelola sendiri. Untuk informasi lebih lanjut tentang Bucket OSS, lihat Unggah objek.

    OSS file name

    File backup penuh yang disimpan sebagai objek di Bucket OSS. Anda dapat memasukkan nama file backup penuh di bidang OSS file name untuk mencari file tersebut. Pencocokan kabur dan pencocokan tepat didukung.

    Catatan

    File backup penuh yang disimpan sebagai objek di Bucket OSS Anda harus dalam format _QP.XB. Sebagai alternatif, Anda dapat mengekspresikan file dalam format _QP.XB ke dalam paket dalam format TAR.GZ dan kemudian menyimpan paket sebagai objek di Bucket OSS. Untuk informasi lebih lanjut, lihat Lampiran 5: Batasan.

    Note

    Deskripsi yang membantu Anda mengidentifikasi file backup penuh.

    Zone

    Zona Bucket OSS yang menyimpan file backup penuh. Setelah Anda memilih zona, ApsaraDB RDS membuat snapshot di zona tersebut dalam hitungan detik. Ini sangat mengurangi waktu yang diperlukan untuk mengimpor file backup penuh ke Bucket OSS.

    Catatan

    Setelah file backup penuh diimpor, Anda dapat memulihkan data file backup penuh ke instance RDS baru. Instance RDS baru berada di zona yang Anda pilih.

    Storage Capacity

    Jumlah penyimpanan yang diperlukan untuk file backup penuh. Nilai valid: 20 hingga 6000: Satuan: GB.

    Catatan

    Secara default, jumlah penyimpanan yang diperlukan adalah 3 kali ukuran file backup penuh. Jika ukuran file dikalikan dengan 3 tidak melebihi 20 GB, parameter ini secara default menjadi 20.

    Catatan
    • Jika ApsaraDB RDS tidak diizinkan untuk mengakses OSS, klik Authorize di bagian bawah langkah 3. Import Data. Di pojok kiri bawah halaman yang muncul, klik Confirm Authorization Policy.

    • Untuk informasi lebih lanjut, baca instruksi pada halaman ini.

  7. Sistem membuat tugas untuk memverifikasi file cadangan penuh di tab User Backups. Tunggu hingga parameter Status dari tugas berubah dari Verifying menjadi Completed.

    Penting

    Jangka waktu yang diperlukan untuk memverifikasi file backup pengguna bervariasi berdasarkan status instance RDS saat dibackup. Misalnya, waktu yang lama diperlukan untuk memverifikasi file backup pengguna dalam skenario berikut: Sejumlah besar operasi tulis dilakukan pada instance RDS selama backup instance dan oleh karena itu sejumlah besar redo log dihasilkan, atau transaksi besar dijalankan pada instance RDS selama backup instance.

  8. Temukan file cadangan penuh yang diperlukan dan klik Restore pada kolom Actions di sebelah kanan kolom Backup ID/Name.

  9. Konfigurasikan parameter berikut dan klik Next: Instance Configuration.

    Parameter

    Deskripsi

    Zone of Primary Node

    Zona tempat instance RDS utama berada.

    Catatan

    Jika Anda tidak memilih zona untuk Bucket OSS yang menyimpan file backup penuh saat mengimpor file tersebut, parameter ini ditampilkan. Jika Anda memilih zona untuk Bucket OSS yang menyimpan file backup penuh saat mengimpor file tersebut, parameter ini tidak ditampilkan.

    Storage Type

    • ESSD PL1: level performa 1 (PL1) Enterprise SSD (ESSD).

    • Standard SSD: SSD standar adalah perangkat penyimpanan blok elastis yang dirancang berdasarkan arsitektur penyimpanan terdistribusi Alibaba Cloud. Anda dapat menyimpan data di SSD standar untuk memisahkan komputasi dari penyimpanan.

    Catatan

    Untuk informasi lebih lanjut, lihat Jenis Penyimpanan.

    Instance Type

    General-purpose (Entry-level): Instance RDS tujuan umum secara eksklusif menempati memori yang dialokasikan dan sumber daya I/O. Namun, ia berbagi inti CPU dan sumber daya penyimpanan dengan instance RDS tujuan umum lainnya yang ditempatkan pada host yang sama.

    Catatan

    Pilih jenis instance. Setiap jenis instance mendukung jumlah inti CPU tertentu, kapasitas memori, jumlah maksimum koneksi, dan IOPS maksimum. Untuk informasi lebih lanjut, lihat Jenis Instance Utama ApsaraDB RDS.

    Storage Capacity

    Konfigurasikan kapasitas penyimpanan untuk instance RDS Anda. Kapasitas penyimpanan disediakan untuk menyimpan file data, file sistem, file log, dan file transaksi di instance RDS. Anda dapat menyesuaikan kapasitas penyimpanan dengan ukuran langkah 5 GB.

  10. Konfigurasikan parameter berikut dan klik Next: Confirm Order.

    Parameter

    Deskripsi

    Network Type

    Jenis jaringan instance RDS. Pilih VPC. Virtual private cloud (VPC) adalah jaringan terisolasi yang memberikan keamanan lebih tinggi dan kinerja lebih baik daripada jaringan klasik. Jika Anda memilih jenis jaringan VPC, Anda juga harus mengonfigurasi parameter VPC dan vSwitch of Primary Node.

    Catatan

    Instance RDS dan instance ECS yang ingin Anda hubungkan harus berada di VPC yang sama. Jika tidak, instance RDS dan instance ECS tidak dapat berkomunikasi melalui jaringan internal.

    Parameter Template

    Template parameter yang digunakan oleh instance RDS. Anda dapat memilih template parameter sistem atau template parameter kustom. Untuk informasi lebih lanjut, lihat Gunakan template parameter.

    Time Zone

    Pilih zona waktu untuk instance RDS Anda.

    Table Name Case Sensitivity

    Menentukan apakah nama tabel di instance RDS bersifat sensitif huruf besar-kecil. Jika nama tabel di instance MySQL yang dikelola sendiri bersifat sensitif huruf besar-kecil, kami sarankan Anda memilih Case-sensitive untuk memfasilitasi migrasi data antara instance RDS dan instance MySQL yang dikelola sendiri.

  11. Konfirmasikan konfigurasi instance RDS di bagian Parameters, konfigurasikan parameter Purchase Plan, baca dan pilih Ketentuan Layanan, lalu klik Pay Now untuk menyelesaikan pembayaran.

    Catatan

    ApsaraDB RDS memerlukan waktu 1 hingga 5 menit untuk membuat instance RDS. Tunggu hingga instance dibuat.

Apa yang Harus Dilakukan Selanjutnya

Konfigurasikan Periode Retensi File Backup Penuh

Secara default, file backup penuh disimpan selama tiga hari setelah diimpor ke ApsaraDB RDS. Anda dapat menyesuaikan periode retensi berdasarkan kebutuhan bisnis Anda.

Catatan

Jika Anda tidak lagi memerlukan file backup penuh, Anda dapat menghapus file tersebut.

  1. Masuk ke konsol ApsaraDB RDS. Di bilah navigasi atas, pilih wilayah. Di panel navigasi di sebelah kiri, klik Backups.

  2. Temukan file backup penuh yang diperlukan dan klik Set Retention Period di kolom Expiration Time di sebelah kanan kolom Backup ID/Name.

  3. Di kotak dialog yang muncul, pilih periode retensi dari daftar drop-down yang disediakan oleh ApsaraDB RDS. Sebagai alternatif, pilih Custom Retention Period lalu masukkan angka. Anda dapat mengklik panah ke atas atau panah ke bawah untuk menyesuaikan periode retensi.

    Catatan

    Kolom Expiration Time menampilkan waktu kedaluwarsa file backup penuh. Jika waktu kedaluwarsa melebihi tahun 2099, maka akan ditampilkan sebagai Permanent.

  4. Klik OK.

Tambahkan Tag ke File Backup Penuh

Setelah file backup penuh diimpor ke ApsaraDB RDS, Anda dapat menambahkan tag ke file tersebut.

  1. Masuk ke konsol ApsaraDB RDS. Di bilah navigasi atas, pilih wilayah. Di panel navigasi di sebelah kiri, klik Backups.

  2. Temukan file backup penuh yang diperlukan dan klik +Add di kolom Tags di sebelah kanan kolom Backup ID/Name.

  3. Di kotak dialog yang muncul, klik Create a label, tentukan bidang Key dan Value dari tag, klik OK di sebelah kanan parameter untuk membuat tag, lalu klik OK di pojok kanan bawah kotak dialog.

    Catatan

    Jika tag sudah ada, pilih tag dari daftar drop-down Select the label untuk menambahkan tag ke file backup penuh.

  4. Jika Anda ingin mengubah tag file backup penuh, gerakkan pointer ke tag dan klik edit. Di tooltip yang muncul, ulangi Langkah 3 untuk membuat atau memilih tag.

Periksa Data Log File Backup Penuh

Jika perubahan data dilakukan di instance MySQL yang dikelola sendiri selama backup penuh, file backup penuh yang dihasilkan berisi informasi log yang mencatat perubahan data. Anda dapat menggunakan informasi log untuk memulihkan data tambahan. Untuk informasi lebih lanjut, lihat Langkah 3: Backup Instance MySQL yang Dikelola Sendiri dan Migrasikan Data Backup ke Instance RDS.

  1. Masuk ke konsol ApsaraDB RDS. Di bilah navigasi atas, pilih wilayah. Di panel navigasi di sebelah kiri, klik Backups.

  2. Temukan file backup penuh yang diperlukan dan klik View Details di kolom Actions di sebelah kanan kolom Backup ID/Name.

  3. Di pesan yang muncul, periksa data log.

    Catatan

    Daftar berikut menjelaskan informasi log:

    • Master_Log_File:: nama file log pertama yang menyimpan data tambahan.

    • Master_Log_Position:: entri log pertama yang berisi data tambahan di file log pertama.

Hapus File Backup Penuh

Jika Anda tidak lagi memerlukan file backup penuh, Anda dapat menghapus file tersebut untuk mengurangi biaya.

  1. Masuk ke konsol ApsaraDB RDS. Di bilah navigasi atas, pilih wilayah. Di panel navigasi di sebelah kiri, klik Backups.

  2. Temukan file backup penuh yang diperlukan dan klik Delete di kolom Actions di sebelah kanan kolom Backup ID/Name.

  3. Di pesan yang muncul, klik OK.

Lakukan Operasi Lainnya

  • Filter Columns: Anda dapat mengklik ikon untuk menampilkan atau menyembunyikan kolom di tab User Backups. Secara default, semua kolom ditampilkan.

    1. Masuk ke konsol ApsaraDB RDS. Di bilah navigasi atas, pilih wilayah. Di panel navigasi di sebelah kiri, klik Backups.

    2. Di pojok kanan atas tab, klik ikon 自定义列表项. Di kotak dialog yang muncul, pilih kolom yang ingin Anda tampilkan atau sembunyikan, dan klik ikon 右 atau 左 untuk mengelola kolom.

      Catatan

      Kolom di daftar di sebelah kiri disembunyikan, dan kolom di daftar di sebelah kanan ditampilkan.

    3. Klik OK.

  • Export Instance List: Anda dapat mengklik ikon untuk mengekspor informasi backup sebagai file CSV.

    1. Masuk ke konsol ApsaraDB RDS. Di bilah navigasi atas, pilih wilayah. Di panel navigasi di sebelah kiri, klik Backups.

    2. Di pojok kanan atas tab, klik ikon 导出资源列表 untuk mengekspor informasi backup.

  • Refresh: Anda dapat mengklik ikon untuk menyegarkan tab Backup Pengguna.

    1. Masuk ke konsol ApsaraDB RDS. Di bilah navigasi atas, pilih wilayah. Di panel navigasi di sebelah kiri, klik Backups.

    2. Klik ikon 刷新 untuk menyegarkan tab Backup Pengguna.

Lampiran 1: Instal Percona XtraBackup di Sistem Operasi Ubuntu

Pilih versi Percona XtraBackup untuk diinstal berdasarkan versi MySQL.

MySQL 5.7

  1. Instal Percona XtraBackup.

    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
  2. Instal alat qpress.

    sudo apt-get install -y qpress
    Catatan

    qpress digunakan untuk mengekstrak file backup yang dihasilkan oleh Percona XtraBackup. Jika Anda menggunakan sistem operasi Ubuntu, Percona XtraBackup tidak terintegrasi dengan qpress dan Anda harus menginstal qpress.

Catatan

Jika pesan serupa dengan The following packages have unmet dependencies ditampilkan saat Anda melakukan salah satu langkah sebelumnya, jalankan perintah apt-get -f install untuk menginstal paket dependensi yang diperlukan. Kemudian, ulangi langkah tersebut.

MySQL 8.0

  1. Instal Percona XtraBackup.

    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 alat qpress.

    sudo apt-get install -y qpress
    Catatan

    qpress digunakan untuk mengekstrak file backup yang dihasilkan oleh Percona XtraBackup. Jika Anda menggunakan sistem operasi Ubuntu, Percona XtraBackup tidak terintegrasi dengan qpress dan Anda harus menginstal qpress.

Catatan

Jika pesan serupa dengan The following packages have unmet dependencies ditampilkan saat Anda melakukan salah satu langkah sebelumnya, jalankan perintah apt-get -f install untuk menginstal paket dependensi yang diperlukan. Kemudian, ulangi langkah tersebut.

Lampiran 2: Instal Go dan Unzip di Sistem Operasi Ubuntu

  • Instal bahasa pemrograman Go.

    sudo apt-get install -y software-properties-common
    sudo add-apt-repository ppa:longsleep/golang-backports
    sudo apt-get update
    sudo apt-get install -y golang-go
  • Instal utilitas Unzip.

    sudo apt-get -y install unzip

Lampiran 3: Lakukan Backup Penuh, Simpan File Backup Penuh ke Komputer Anda, dan Kemudian Unggah File Backup Penuh ke Bucket OSS Anda

  1. Backup semua data instance MySQL yang dikelola sendiri ke mesin lokal Anda.

    Pilih perintah untuk dijalankan berdasarkan versi MySQL.

    MySQL 5.7

    innobackupex --backup --host=<Alamat IP host tempat instance MySQL yang dikelola sendiri berada> --port=<Port yang digunakan untuk terhubung ke instance MySQL yang dikelola sendiri> --user=<Nama pengguna akun root yang digunakan untuk terhubung ke instance MySQL yang dikelola sendiri> --password=<Kata sandi akun root yang digunakan untuk terhubung ke instance MySQL yang dikelola sendiri> --stream=xbstream --compress <Direktori sementara yang digunakan untuk menyimpan file backup penuh> > /<Direktori yang digunakan untuk menyimpan file backup penuh>/<Nama file backup penuh>_qp.xb

    Contoh:

    innobackupex --backup --host=127.0.0.1 --port=3306 --user=root --password=Aa123456@ --stream=xbstream --compress /root/mysql/data > /root/backup_qp.xb

    MySQL 8.0

    xtrabackup --backup --host=<Alamat IP host tempat instance MySQL yang dikelola sendiri berada> --port=<Port yang digunakan untuk terhubung ke instance MySQL yang dikelola sendiri> --user=<Nama pengguna akun root yang digunakan untuk terhubung ke instance MySQL yang dikelola sendiri> --password=<Kata sandi akun root yang digunakan untuk terhubung ke instance MySQL yang dikelola sendiri> --stream=xbstream --compress <Direktori sementara yang digunakan untuk menyimpan file backup penuh> > /<Direktori yang digunakan untuk menyimpan file backup penuh>/<Nama file backup penuh>_qp.xb

    Contoh:

    xtrabackup --backup --host=127.0.0.1 --port=3306 --user=root --password=Aa123456@ --stream=xbstream --compress /root/mysql/data > /root/backup_qp.xb
  2. Unggah file backup penuh ke Bucket OSS Anda menggunakan OSS_Stream.

    cat /<Direktori yang digunakan untuk menyimpan file backup penuh>/<Nama file backup penuh>_qp.xb | ./mysql-backup-helper-master/oss_stream/oss_stream -accessKeyId LTAI**************** -accessKeySecret ******** -bucketName test -endpoint oss-********.aliyuncs.com -objectName backup_qp.xb

    Contoh:

    cat /root/backup_qp.xb | ./mysql-backup-helper-master/oss_stream/oss_stream -accessKeyId ******** -accessKeySecret LTAI**************** -bucketName test -endpoint oss-********.aliyuncs.com -objectName backup_qp.xb

Lampiran 4: Batasan

Item

Deskripsi

Versi MySQL

Instance MySQL yang dikelola sendiri harus menjalankan salah satu versi MySQL berikut:

  • MySQL 5.7.32 atau lebih lama

  • MySQL 8.0.18 atau lebih lama

Catatan
  • Instance MySQL yang dikelola sendiri harus menjalankan versi MySQL yang sama dengan instance RDS tujuan. Misalnya, data backup dari instance MySQL yang dikelola sendiri yang menjalankan MySQL 5.7 hanya dapat dipulihkan ke instance RDS yang menjalankan MySQL 5.7.

  • Jika versi MySQL tidak memenuhi persyaratan, Anda dapat memigrasikan data berdasarkan instruksi yang diberikan di Migrasikan data dari database MySQL yang dikelola sendiri ke instance ApsaraDB RDS untuk MySQL.

Instance MySQL yang dikelola sendiri

  • Data instance MySQL yang dikelola sendiri harus disimpan di direktori datadir pada host tempat instance tersebut berada. Anda dapat menjalankan perintah berikut di CLI untuk mengakses direktori datadir: mysqladmin -u<Nama pengguna akun root yang digunakan untuk terhubung ke instance MySQL yang dikelola sendiri> -p<Kata sandi akun root yang digunakan untuk terhubung ke instance MySQL yang dikelola sendiri> variables | grep datadir.

  • Anda harus menyetel parameter innodb_data_file_path ke nilai default ibdata1.

Backup

  • Setelah backup penuh instance MySQL yang dikelola sendiri selesai, data tambahan yang dihasilkan di instance tersebut tidak termasuk dalam file backup penuh.

  • Jika instance MySQL yang dikelola sendiri menjalankan MySQL 5.7, Anda harus menggunakan Percona XtraBackup 2.4 untuk membackup instance tersebut.

  • Saat menggunakan Percona XtraBackup untuk membackup instance MySQL yang dikelola sendiri, Anda tidak dapat mengonfigurasi opsi --tables, --tables-exclude, --tables-file, --databases, atau --databases-file.

  • Anda tidak dapat membaca objek terenkripsi dari Bucket OSS. Oleh karena itu, Anda harus menyetel parameter Encryption Method ke None saat membuat Bucket OSS.

  • File backup diferensial dan file log backup tidak didukung.

  • Nama file backup penuh tidak boleh mengandung karakter khusus. Jika nama file backup penuh mengandung karakter khusus, file tersebut tidak dapat diimpor ke instance RDS tujuan.

  • Setelah Anda mengotorisasi akun layanan ApsaraDB RDS untuk mengakses Bucket OSS, peran RAM bernama AliyunRDSImportRole dibuat di Resource Access Management (RAM). Jangan modifikasi atau hapus peran RAM ini. Jika Anda memodifikasi atau menghapus peran RAM ini, ApsaraDB RDS tidak dapat mengunduh objek dari Bucket OSS.

  • Sebelum migrasi selesai, jangan hapus file backup penuh dari Bucket OSS. Jika Anda menghapus file backup penuh sebelum migrasi selesai, migrasi gagal.

  • File backup penuh yang disimpan sebagai objek di Bucket OSS Anda harus dalam format _QP.XB. Sebagai alternatif, Anda dapat mengekspresikan file dalam format _QP.XB ke dalam paket dalam format TAR.GZ dan kemudian menyimpan paket sebagai objek di Bucket OSS.

    Catatan

    Jika file backup penuh dalam format seperti .xbstream format yang tidak memenuhi persyaratan format, kami sarankan Anda memulihkan file backup penuh ke instance MySQL yang dikelola sendiri, ubah format file menjadi _QP.XB, lalu migrasikan data instance MySQL yang dikelola sendiri ke instance RDS. Sebagai alternatif, Anda dapat menggunakan solusi migrasi cloud lainnya. Untuk informasi lebih lanjut, lihat Migrasikan data dari database MySQL yang dikelola sendiri ke instance ApsaraDB RDS untuk MySQL.

OSS

  • Jika Anda menggunakan CLI untuk mengunggah file backup penuh sebagai serangkaian bagian ke Bucket OSS Anda, Anda harus memastikan bahwa ukuran file tidak melebihi 16 TB. Untuk informasi lebih lanjut, lihat Batasan.

  • Bucket OSS Anda harus berada di wilayah yang sama dengan instance RDS tujuan.

Pemulihan

  • Anda hanya dapat memigrasikan data instance MySQL yang dikelola sendiri ke instance RDS baru. Dengan cara ini, Anda dapat mencegah penimpaan data di instance RDS yang ada karena operasi yang tidak disengaja.

  • Anda tidak dapat memigrasikan data instance MySQL yang dikelola sendiri ke instance RDS yang kapasitas penyimpanannya kurang dari jumlah data di instance MySQL yang dikelola sendiri. Untuk informasi lebih lanjut, lihat Jenis Instance Utama ApsaraDB RDS.

  • Saat Anda mengimpor file backup penuh dari Bucket OSS Anda ke ApsaraDB RDS, ApsaraDB RDS membuat instance RDS sementara, mengimpor file backup penuh ke instance RDS sementara, lalu memulihkan data dari instance RDS sementara ke instance RDS tujuan. Kapasitas penyimpanan default instance RDS sementara adalah lima kali ukuran file backup penuh. Jika penyimpanan yang tersedia di instance RDS sementara tidak cukup setelah file backup penuh diimpor, Anda dapat meningkatkan kapasitas penyimpanan instance RDS sementara.

  • Akun, fungsi kustom, dan prosedur tersimpan dari instance MySQL yang dikelola sendiri tidak dapat dimigrasikan ke instance RDS tujuan. Anda harus mencatat akun, fungsi kustom, dan prosedur tersimpan tersebut. Setelah migrasi selesai, Anda harus menambahkan akun, fungsi kustom, dan prosedur tersimpan secara manual ke instance RDS tujuan.

  • Informasi zona waktu instance MySQL yang dikelola sendiri tidak dapat dimigrasikan ke instance RDS tujuan. Anda harus mencatat informasi zona waktu tersebut. Setelah migrasi selesai, Anda harus mengonfigurasi zona waktu instance RDS tujuan secara manual.

  • Instance RDS tujuan harus berupa instance bayar sesuai pemakaian yang menjalankan MySQL 5.7 atau MySQL 8.0 pada Edisi Dasar RDS dengan SSD standar.

Replikasi

  • Data dapat direplikasi hanya berdasarkan pengidentifikasi transaksi global (GTID). Oleh karena itu, Anda harus mengaktifkan replikasi berbasis GTID dan menyetel parameter gtid_mode dan parameter enforce_gtid_consistency ke ON di instance MySQL yang dikelola sendiri.

  • Periode retensi default catatan validasi backup adalah tujuh hari. ApsaraDB RDS secara otomatis menghapus catatan validasi backup yang dihasilkan tujuh hari lalu dan snapshot dari catatan tersebut. Oleh karena itu, setelah migrasi selesai, kami sarankan Anda mereplikasi data tambahan instance MySQL yang dikelola sendiri ke instance RDS tujuan sesegera mungkin.