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
CatatanUntuk 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).
PentingReplikasi 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:
Lakukan cadangan penuh dari database MySQL yang dikelola sendiri.
Impor cadangan penuh dari database MySQL yang dikelola sendiri ke instans replikasi asli RDS for MySQL.
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
Instal XtraBackup dan Lakukan Cadangan pada Database yang Dikelola Sendiri
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.rpmMySQL 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
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.rpmMySQL 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 qpress: Karena XtraBackup yang diinstal pada Ubuntu tidak termasuk qpress, Anda harus menginstalnya secara terpisah.
sudo apt-get install -y qpress
Lakukan cadangan:
Ketiga metode kompresi berikut didasarkan pada perintah
XtraBackupdan cocok untuk instans yang utamanya menggunakan engine InnoDB. Jika database Anda berisi tabel MyISAM, gunakan perintahinnobackupex.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>
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.
PentingPastikan 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.
Instal ossutil.
yum install -y unzip sudo -v ; curl https://gosspublic.alicdn.com/ossutil/install.sh | sudo bash ossutil configUnggah data cadangan ke OSS.
ossutil -e <OSS_Endpoint> -i <your_AccessKeyId> -k <your_AccessKeySecret> cp <backup_file_name> oss://<Bucket_name>/
Impor File Cadangan dari OSS ke RDS dan Atur Tautan Replikasi Secara Otomatis
Pergi ke daftar Instans RDS, pilih wilayah, dan klik ID instans target.
Di panel navigasi di sebelah kiri, klik Native Replication.
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
xbstreamyang dihasilkan langsung oleh XtraBackup.File
_qp.xbyang dihasilkan menggunakan kompresi quicklz bawaan XtraBackup.File
xbstreamyang 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 CLIENTdanREPLICATION SLAVE.Replication Account Password
Masukkan kata sandi untuk akun dari database sumber yang dikelola sendiri.
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
Instal XtraBackup dan Lakukan Cadangan pada Database yang Dikelola Sendiri
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.rpmMySQL 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
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.rpmMySQL 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 qpress: Karena XtraBackup yang diinstal pada Ubuntu tidak termasuk qpress, Anda harus menginstalnya secara terpisah.
sudo apt-get install -y qpress
Lakukan cadangan:
Ketiga metode kompresi berikut didasarkan pada perintah
XtraBackupdan cocok untuk instans yang utamanya menggunakan engine InnoDB. Jika database Anda berisi tabel MyISAM, gunakan perintahinnobackupex.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>
Transfer Cadangan Database yang Dikelola Sendiri ke RDS
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>Impor Data ke RDS
Masuk ke Konsol ApsaraDB RDS, pilih wilayah di bagian atas halaman, dan klik ID instans.
Di panel navigasi di sebelah kiri, klik Native Replication.
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 CLIENTdanREPLICATION SLAVE.Replication Account Password
Masukkan kata sandi untuk akun dari database sumber yang dikelola sendiri.
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
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.sqlKarena RDS for MySQL tidak memberikan izin untuk memodifikasi
SET GTID_PURGED, mengaktifkan parameter ini akan menyebabkan kesalahan pemutaran SQL. Oleh karena itu, Anda harus menyetelset-gtid-purged=offdalam perintah.Ketika Anda menggunakan
mysqldumpuntuk menyiapkan database sekunder, tambahkan opsi--master-data=2. Opsi ini secara otomatis menghasilkan komentar yang berisi pernyataanCHANGE 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:
Impor cadangan logis menggunakan DMS.
Masuk ke database RDS for MySQL menggunakan DMS (gunakan akun istimewa).
Klik ikon
di sudut kiri atas konsol DMS dan pilih .CatatanJika Anda menggunakan konsol dalam mode non-streamlined, pilih dari bilah menu atas.
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.
Jalankan perintah di DMS untuk menyiapkan tautan replikasi.
PentingMengimpor 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