Penskalaan bacaan untuk SQL database Saya dengan Amazon Aurora - Amazon Aurora

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

Penskalaan bacaan untuk SQL database Saya dengan Amazon Aurora

Anda dapat menggunakan Amazon Aurora dengan instans My SQL DB Anda untuk memanfaatkan kemampuan penskalaan baca Amazon Aurora dan memperluas beban kerja baca untuk instans DB Saya. SQL Untuk menggunakan Aurora untuk menskalakan pembacaan untuk instans My SQL DB Anda, buat klaster Amazon Aurora SQL My DB dan jadikan replika baca instans My DB Anda. SQL Ini berlaku untuk instans RDS for My SQL DB, atau SQL database Saya yang berjalan di luar AmazonRDS.

Untuk informasi tentang cara membuat klaster DB Amazon Aurora, lihat Membuat klaster DB Amazon Aurora.

Saat menyiapkan replikasi antara instans SQL DB Saya dan kluster DB Amazon Aurora, pastikan untuk mengikuti panduan berikut:

  • Gunakan alamat titik akhir klaster Amazon Aurora DB saat Anda mereferensikan kluster Amazon Aurora My DB Anda. SQL Jika failover terjadi, maka Replika Aurora yang dipromosikan ke instance utama untuk cluster Aurora SQL My DB terus menggunakan alamat titik akhir cluster DB.

  • Pertahankan binlog pada instans penulis Anda hingga Anda memverifikasi bahwa binlog tersebut telah diterapkan ke Replika Aurora. Dengan mempertahankannya, Anda akan dapat memulihkan instans penulis Anda jika terjadi kegagalan.

penting

Saat menggunakan replikasi yang dikelola sendiri, Anda bertanggung jawab untuk memantau dan menyelesaikan masalah replikasi yang mungkin terjadi. Untuk informasi selengkapnya, lihat Mendiagnosis dan mengatasi jeda di antara replika baca.

catatan

Izin yang diperlukan untuk memulai replikasi pada klaster Aurora My SQL DB dibatasi dan tidak tersedia untuk pengguna master Amazon Anda. RDS Oleh karena itu, Anda harus menggunakan mysql.rds_set_external_master (Aurora Versi saya 2) SQL or mysql.rds_set_external_source (Aurora Versi saya 3) SQL and mysql.rds_start_replication prosedur untuk mengatur replikasi antara cluster Aurora SQL My DB Anda dan instans My DB AndaSQL.

Mulai replikasi antara instance sumber eksternal dan cluster Aurora SQL My DB

  1. Jadikan sumber Instans SQL DB saya hanya-baca:

    mysql> FLUSH TABLES WITH READ LOCK; mysql> SET GLOBAL read_only = ON;
  2. Jalankan SHOW MASTER STATUS perintah pada sumber My SQL DB instance untuk menentukan lokasi binlog. Anda akan menerima output yang serupa dengan contoh berikut:

    File Position ------------------------------------ mysql-bin-changelog.000031 107 ------------------------------------
  3. Salin database dari instans My SQL DB eksternal ke Amazon Aurora My SQL DB cluster menggunakan. mysqldump Untuk database yang sangat besar, Anda mungkin ingin menggunakan prosedur dalam Mengimpor data ke instans DB Saya atau SQL MariaDB dengan pengurangan waktu henti di Panduan Pengguna Amazon Relational Database Service.

    Untuk Linux, macOS, atau Unix:

    mysqldump \ --databases <database_name> \ --single-transaction \ --compress \ --order-by-primary \ -u local_user \ -p local_password | mysql \ --host aurora_cluster_endpoint_address \ --port 3306 \ -u RDS_user_name \ -p RDS_password

    Untuk Windows:

    mysqldump ^ --databases <database_name> ^ --single-transaction ^ --compress ^ --order-by-primary ^ -u local_user ^ -p local_password | mysql ^ --host aurora_cluster_endpoint_address ^ --port 3306 ^ -u RDS_user_name ^ -p RDS_password
    catatan

    Pastikan tidak ada spasi antara opsi -p dan kata sandi yang dimasukkan.

    Gunakan opsi --host, --user (-u), --port, dan -p dalam perintah mysql untuk menentukan nama host, nama pengguna, port, dan kata sandi untuk terhubung ke klaster DB Aurora Anda. Nama host adalah DNS nama dari titik akhir cluster Amazon Aurora DB, misalnya,. mydbcluster.cluster-123456789012.us-east-1.rds.amazonaws.com Anda dapat menemukan nilai endpoint di detail klaster di Amazon RDS Management Console.

  4. Jadikan sumber Instans SQL DB saya dapat ditulis lagi:

    mysql> SET GLOBAL read_only = OFF; mysql> UNLOCK TABLES;

    Untuk informasi selengkapnya tentang membuat cadangan untuk digunakan dengan replikasi, lihat Backing up a source or replica by making it read onlydi dokumentasi Saya. SQL

  5. Di Amazon RDS Management Console, tambahkan alamat IP server yang menghosting sumber SQL Database saya ke grup VPC keamanan untuk cluster Amazon Aurora DB. Untuk informasi selengkapnya tentang memodifikasi grup VPC keamanan, lihat Grup keamanan untuk Anda VPC di Panduan Pengguna Amazon Virtual Private Cloud.

    Anda mungkin juga perlu mengonfigurasi jaringan lokal Anda untuk mengizinkan koneksi dari alamat IP kluster Amazon Aurora DB Anda, sehingga dapat berkomunikasi dengan sumber Instans SayaSQL. Untuk menemukan alamat IP klaster DB Amazon Aurora, gunakan perintah host.

    host aurora_endpoint_address

    Nama host adalah DNS nama dari titik akhir cluster Amazon Aurora DB.

  6. Menggunakan klien pilihan Anda, sambungkan ke SQL instans Saya eksternal dan buat SQL pengguna Saya untuk digunakan untuk replikasi. Akun ini digunakan hanya untuk replikasi dan harus dibatasi pada domain Anda untuk meningkatkan keamanan. Berikut adalah contohnya.

    CREATE USER 'repl_user'@'example.com' IDENTIFIED BY 'password';
  7. Untuk SQL instans Saya eksternal, berikan REPLICATION CLIENT dan REPLICATION SLAVE hak istimewa kepada pengguna replikasi Anda. Misalnya, untuk memberikan hak akses REPLICATION CLIENT dan REPLICATION SLAVE pada semua basis data untuk pengguna 'repl_user' bagi domain Anda, jalankan perintah berikut.

    GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'example.com' IDENTIFIED BY 'password';
  8. Ambil snapshot manual cluster Aurora SQL My DB untuk menjadi replika baca sebelum menyiapkan replikasi. Jika Anda perlu membangun kembali replikasi dengan cluster DB sebagai replika baca, Anda dapat memulihkan cluster Aurora My SQL DB dari snapshot ini alih-alih harus mengimpor data dari SQL instans My DB Anda ke cluster Aurora My DB baru. SQL

  9. Jadikan klaster DB Amazon Aurora sebagai replika. Connect ke cluster Amazon Aurora DB sebagai pengguna utama dan identifikasi sumber SQL Database saya sebagai sumber replikasi dengan menggunakan mysql.rds_set_external_master (Aurora Versi saya 2) SQL atau mysql.rds_set_external_source (Aurora Versi saya 3) SQL dan prosedur. mysql.rds_start_replication

    Gunakan nama file binlog dan posisi yang Anda tentukan di Langkah 2. Berikut adalah contohnya.

    For Aurora MySQL version 2: CALL mysql.rds_set_external_master ('mymasterserver.example.com', 3306, 'repl_user', 'password', 'mysql-bin-changelog.000031', 107, 0); For Aurora MySQL version 3: CALL mysql.rds_set_external_source ('mymasterserver.example.com', 3306, 'repl_user', 'password', 'mysql-bin-changelog.000031', 107, 0);
  10. Pada klaster DB Amazon Aurora, panggil prosedur mysql.rds_start_replication untuk memulai replikasi.

    CALL mysql.rds_start_replication;

Setelah membuat replikasi antara instans My SQL DB sumber dan kluster DB Amazon Aurora, Anda dapat menambahkan Aurora Replicas ke cluster Amazon Aurora DB Anda. Kemudian, Anda dapat terhubung ke Replika Aurora untuk menskalakan baca data Anda. Untuk informasi tentang cara membuat Replika Aurora, lihat Menambahkan Replika Aurora ke klaster DB.