Mengonversi instans basis data yang ada ke klaster aktif-aktif - Layanan Basis Data Relasional Amazon

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengonversi instans basis data yang ada ke klaster aktif-aktif

Versi mesin DB dari instans Amazon RDS for My SQL DB yang ingin Anda migrasikan ke cluster aktif-aktif harus My SQL 8.0.35 atau lebih tinggi. Jika Anda perlu memutakhirkan versi mesin, lihat Upgrade RDS untuk mesin My SQL DB.

Jika Anda menyiapkan cluster aktif-aktif dengan instans DB di lebih dari satuVPC, pastikan Anda menyelesaikan prasyarat di. Mempersiapkan klaster VPC aktif silang

Selesaikan langkah-langkah berikut untuk memigrasikan instans DB yang ada ke cluster aktif-aktif untuk RDS My. SQL

Langkah 1: Atur parameter klaster aktif-aktif dalam satu atau beberapa grup parameter kustom

Instance RDS for My SQL DB di cluster aktif-aktif harus dikaitkan dengan grup parameter khusus yang memiliki pengaturan yang benar untuk parameter yang diperlukan. Lihat informasi tentang parameter-parameter dan setelan yang diperlukan untuk masing-masing parameter di Setelan parameter yang diperlukan untuk klaster aktif-aktif.

Anda dapat mengatur semua parameter ini di grup parameter baru atau di grup parameter yang ada. Namun, untuk menghindari memengaruhi tanpa sengaja instans basis data yang bukan bagian dari klaster aktif-aktif, kami sangat menyarankan supaya Anda membuat grup parameter kustom baru. Instans basis data dalam klaster aktif-aktif dapat dikaitkan dengan grup parameter basis data yang sama atau berbeda.

Anda dapat menggunakan AWS Management Console atau AWS CLI untuk membuat grup parameter kustom baru. Untuk informasi selengkapnya, lihat Membuat grup parameter DB di Amazon RDS Amazon. Contoh berikut menjalankan create-db-parameter-group AWS CLI perintah untuk membuat grup parameter DB kustom bernamamyactivepg:

Untuk Linux, macOS, atau Unix:

aws rds create-db-parameter-group \ --db-parameter-group-name myactivepg \ --db-parameter-group-family mysql8.0 \ --description "Parameter group for active-active clusters"

Untuk Windows:

aws rds create-db-parameter-group ^ --db-parameter-group-name myactivepg ^ --db-parameter-group-family mysql8.0 ^ --description "Parameter group for active-active clusters"

Anda juga dapat menggunakan AWS Management Console atau AWS CLI untuk mengatur parameter dalam grup parameter kustom. Untuk informasi selengkapnya, lihat Memodifikasi parameter dalam grup parameter DB di Amazon RDS Aurora.

Contoh berikut menjalankan modify-db-parameter-group AWS CLI perintah untuk mengatur parameter:

Untuk Linux, macOS, atau Unix:

aws rds modify-db-parameter-group \ --db-parameter-group-name myactivepg \ --parameters "ParameterName='rds.group_replication_enabled',ParameterValue='1',ApplyMethod=pending-reboot" \ "ParameterName='rds.custom_dns_resolution',ParameterValue='1',ApplyMethod=pending-reboot" \ "ParameterName='enforce_gtid_consistency',ParameterValue='ON',ApplyMethod=pending-reboot" \ "ParameterName='gtid-mode',ParameterValue='ON',ApplyMethod=pending-reboot" \ "ParameterName='binlog_format',ParameterValue='ROW',ApplyMethod=immediate" \ "ParameterName='slave_preserve_commit_order',ParameterValue='ON',ApplyMethod=immediate" \ "ParameterName='group_replication_group_name',ParameterValue='11111111-2222-3333-4444-555555555555',ApplyMethod=pending-reboot"

Untuk Windows:

aws rds modify-db-parameter-group ^ --db-parameter-group-name myactivepg ^ --parameters "ParameterName='rds.group_replication_enabled',ParameterValue='1',ApplyMethod=pending-reboot" ^ "ParameterName='rds.custom_dns_resolution',ParameterValue='1',ApplyMethod=pending-reboot" ^ "ParameterName='enforce_gtid_consistency',ParameterValue='ON',ApplyMethod=pending-reboot" ^ "ParameterName='gtid-mode',ParameterValue='ON',ApplyMethod=pending-reboot" ^ "ParameterName='binlog_format',ParameterValue='ROW',ApplyMethod=immediate" ^ "ParameterName='slave_preserve_commit_order',ParameterValue='ON',ApplyMethod=immediate" ^ "ParameterName='group_replication_group_name',ParameterValue='11111111-2222-3333-4444-555555555555',ApplyMethod=pending-reboot"

Langkah 2: Kaitkan instans basis data dengan grup parameter basis data yang telah mengatur parameter Group Replication yang diperlukan

Kaitkan instans basis data dengan grup parameter yang Anda buat atau ubah dalam langkah sebelumnya. Lihat petunjuk di Mengaitkan grup parameter DB dengan instans DB di Amazon RDS Aurora.

Boot ulang instans basis data agar setelan parameter baru berlaku. Lihat petunjuk di Mem-boot ulang instans DB.

Langkah 3: Buat klaster aktif-aktif

Dalam grup parameter basis data yang terkait dengan instans basis data, atur parameter group_replication_group_seeds ke titik akhir instans basis data yang Anda konversi.

Anda dapat menggunakan AWS Management Console atau AWS CLI untuk mengatur parameter. Anda tidak perlu mem-boot ulang instans basis data setelah mengatur parameter ini. Lihat informasi yang lebih lengkap tentang pengaturan parameter di Memodifikasi parameter dalam grup parameter DB di Amazon RDS Aurora.

Contoh berikut menjalankan modify-db-parameter-group AWS CLI perintah untuk mengatur parameter:

Untuk Linux, macOS, atau Unix:

aws rds modify-db-parameter-group \ --db-parameter-group-name myactivepg \ --parameters "ParameterName='group_replication_group_seeds',ParameterValue='myactivedb1.123456789012.us-east-1.rds.amazonaws.com:3306',ApplyMethod=immediate"

Untuk Windows:

aws rds modify-db-parameter-group ^ --db-parameter-group-name myactivepg ^ --parameters "ParameterName='group_replication_group_seeds',ParameterValue='myactivedb1.123456789012.us-east-1.rds.amazonaws.com:3306',ApplyMethod=immediate"

Langkah 4: Buat tambahan RDS untuk instans SQL DB Saya untuk cluster aktif-aktif

Untuk membuat instance DB tambahan untuk cluster aktif-aktif, lakukan point-in-time pemulihan pada instans DB yang Anda konversi. Untuk petunjuk, silakan lihat Menambahkan instans DB ke cluster aktif-aktif menggunakan pemulihan point-in-time.

Klaster aktif-aktif dapat memiliki hingga sembilan instans basis data. Lakukan point-in-time pemulihan pada instans DB hingga Anda memiliki jumlah instans DB yang Anda inginkan untuk cluster. Saat Anda melakukan point-in-recovery, pastikan Anda mengaitkan instans DB yang Anda tambahkan dengan grup parameter DB yang telah rds.group_replication_enabled disetel1. Jika tidak, Group Replication tidak akan dimulai pada instans basis data yang baru ditambahkan.

Langkah 5: Inisialisasikan grup pada instans basis data yang Anda konversi

Inisialisasikan grup dan mulai replikasi:

  1. Connect ke instans DB yang Anda konversi dalam SQL klien. Untuk informasi selengkapnya tentang menghubungkan ke instans RDS for My SQL DB, lihatMenghubungkan ke instans DB yang menjalankan mesin SQL database Saya.

  2. Di SQL klien, jalankan prosedur tersimpan berikut dan ganti group_replication_user_password dengan kata sandi untuk rdsgrprepladmin pengguna. Pengguna rdsgrprepladmin dicadangkan untuk koneksi Group Replication dalam klaster aktif-aktif. Kata sandi untuk pengguna ini harus sama pada semua instans basis data di klaster aktif-aktif.

    call mysql.rds_set_configuration('binlog retention hours', 168); -- 7 days binlog call mysql.rds_group_replication_create_user('group_replication_user_password'); call mysql.rds_group_replication_set_recovery_channel('group_replication_user_password'); call mysql.rds_group_replication_start(1);

    Contoh ini menetapkan nilai binlog retention hours ke 168, yang berarti bahwa file log biner dipertahankan selama tujuh hari pada instans basis data. Anda dapat menyesuaikan nilai ini untuk memenuhi kebutuhan Anda.

    Contoh-contoh ini menentukan 1 dalam prosedur tersimpan mysql.rds_group_replication_start untuk menginisialisasikan grup baru dengan instans basis data saat ini.

    Lihat informasi yang lebih lengkap tentang prosedur tersimpan yang dipanggil dalam contoh ini di Mengelola klaster aktif-aktif.

Langkah 6: Mulai replikasi pada instans basis data lain di klaster aktif-aktif

Untuk setiap instans DB di cluster aktif-aktif, gunakan SQL klien untuk terhubung ke instance, dan jalankan prosedur tersimpan berikut. Ganti group_replication_user_password dengan kata sandi untuk rdsgrprepladmin pengguna.

call mysql.rds_set_configuration('binlog retention hours', 168); -- 7 days binlog call mysql.rds_group_replication_create_user('group_replication_user_password'); call mysql.rds_group_replication_set_recovery_channel('group_replication_user_password'); call mysql.rds_group_replication_start(0);

Contoh ini menetapkan nilai binlog retention hours ke 168, yang berarti bahwa file log biner dipertahankan selama tujuh hari pada setiap instans basis data. Anda dapat menyesuaikan nilai ini untuk memenuhi kebutuhan Anda.

Contoh ini menentukan 0 dalam prosedur tersimpan mysql.rds_group_replication_start untuk menggabungkan instans basis data saat ini dengan grup yang ada.

Tip

Pastikan untuk menjalankan prosedur tersimpan ini pada semua instans basis data yang lain di klaster aktif-aktif.

Langkah 7: (Disarankan) Periksa status klaster aktif-aktif

Untuk memastikan setiap anggota cluster dikonfigurasi dengan benar, periksa status cluster dengan menghubungkan ke instans DB di cluster aktif-aktif, dan jalankan perintah berikut: SQL

SELECT * FROM performance_schema.replication_group_members;

Output Anda semestinya menampilkan ONLINE untuk MEMBER_STATE setiap instans basis data, seperti pada output sampel berikut:

+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+ | CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | MEMBER_ROLE | MEMBER_VERSION | MEMBER_COMMUNICATION_STACK | +---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+ | group_replication_applier | 9854d4a2-5d7f-11ee-b8ec-0ec88c43c251 | ip-10-15-3-137 | 3306 | ONLINE | PRIMARY | 8.0.35 | MySQL | | group_replication_applier | 9e2e9c28-5d7f-11ee-8039-0e5d58f05fef | ip-10-15-3-225 | 3306 | ONLINE | PRIMARY | 8.0.35 | MySQL | | group_replication_applier | a6ba332d-5d7f-11ee-a025-0a5c6971197d | ip-10-15-1-83 | 3306 | ONLINE | PRIMARY | 8.0.35 | MySQL | +---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+ 3 rows in set (0.00 sec)

Untuk informasi tentang MEMBER_STATE nilai yang mungkin, lihat Status Server Replikasi Grup dalam SQL dokumentasi Saya.