Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Penskalaan bacaan untuk database MySQL Anda dengan Amazon Aurora
Anda dapat menggunakan Amazon Aurora dengan instans DB MySQL Anda untuk memanfaatkan kemampuan penskalaan baca Amazon Aurora dan memperluas beban kerja baca untuk instans DB MySQL Anda. Untuk menggunakan Aurora untuk menskalakan baca untuk instans DB MySQL Anda, buat klaster DB Amazon Aurora MySQL dan jadikan klaster DB ini sebagai replika baca instans DB MySQL Anda. Hal ini berlaku untuk satu instans DB RDS for MySQL, atau basis data MySQL yang dijalankan secara eksternal di luar Amazon RDS.
Untuk informasi tentang cara membuat klaster DB Amazon Aurora, lihat Membuat klaster DB Amazon Aurora.
Saat Anda mengatur replikasi antara instans DB MySQL dan klaster DB Amazon Aurora Anda, pastikan untuk mengikuti panduan ini:
-
Gunakan alamat titik akhir klaster DB Amazon Aurora saat Anda merujuk ke klaster DB Amazon Aurora MySQL Anda. Jika terjadi failover, maka Replika Aurora yang dipromosikan ke instans primer untuk klaster DB Aurora MySQL akan terus menggunakan alamat titik akhir klaster 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 DB Aurora MySQL dibatasi dan tidak tersedia untuk pengguna master Amazon RDS Anda. Oleh karena itu, Anda harus menggunakan prosedur mysql.rds_set_external_master 2) atau mysql.rds_set_external_source (RDS ) dan mysql.rds_start_replication untuk mengatur replikasi antara klaster DB Aurora MySQL dan instans DB MySQL Anda.
Mulai replikasi antara instans sumber eksternal dan klaster DB Aurora MySQL
-
Buat instans DB MySQL sumber menjadi hanya baca:
mysql>FLUSH TABLES WITH READ LOCK;mysql>SET GLOBAL read_only = ON; -
Jalankan perintah
SHOW MASTER STATUSpada instans DB MySQL sumber untuk menentukan lokasi binlog. Anda akan menerima output yang serupa dengan contoh berikut:File Position ------------------------------------ mysql-bin-changelog.000031 107 ------------------------------------ -
Salin basis data dari instans DB MySQL eksternal ke klaster DB Amazon Aurora MySQL menggunakan
mysqldump. Untuk database yang sangat besar, Anda mungkin ingin menggunakan prosedur dalam Mengimpor data ke database Amazon RDS for MySQL 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 \ -ulocal_user\ -plocal_password| mysql \ --host aurora_cluster_endpoint_address \ --port 3306 \ -uRDS_user_name\ -pRDS_passwordUntuk Windows:
mysqldump ^ --databases <database_name> ^ --single-transaction ^ --compress ^ --order-by-primary ^ -ulocal_user^ -plocal_password| mysql ^ --host aurora_cluster_endpoint_address ^ --port 3306 ^ -uRDS_user_name^ -pRDS_passwordcatatan
Pastikan tidak ada spasi antara opsi
-pdan kata sandi yang dimasukkan.Gunakan opsi
--host,--user (-u),--port, dan-pdalam perintahmysqluntuk menentukan nama host, nama pengguna, port, dan kata sandi untuk terhubung ke klaster DB Aurora Anda. Nama host adalah nama DNS dari titik akhir klaster DB Amazon Aurora, misalnya,mydbcluster.cluster-123456789012.us-east-1.rds.amazonaws.com. Anda dapat menemukan nilai titik akhir dalam detail klaster di Konsol Manajemen Amazon RDS. -
Buat instans DB MySQL sumber menjadi dapat ditulis lagi:
mysql>SET GLOBAL read_only = OFF;mysql>UNLOCK TABLES;Untuk informasi lebih lanjut tentang cara membuat cadangan untuk digunakan dengan replikasi, lihat Backing up a source or replica by making it read only
dalam dokumentasi MySQL. -
Dalam Konsol Manajemen Amazon RDS, tambahkan alamat IP server yang meng-host basis data MySQL sumber ke grup keamanan VPC untuk klaster DB Amazon Aurora. Untuk informasi selengkapnya tentang memodifikasi grup keamanan VPC, lihat Grup keamanan untuk VPC Anda dalam Panduan Pengguna Amazon Virtual Private Cloud.
Anda juga mungkin harus mengonfigurasi jaringan lokal Anda untuk mengizinkan koneksi dari alamat IP klaster DB Amazon Aurora Anda agar klaster DB ini dapat berkomunikasi dengan instans MySQL sumber Anda. Untuk menemukan alamat IP klaster DB Amazon Aurora, gunakan perintah
host.hostaurora_endpoint_addressNama host adalah nama DNS dari titik akhir klaster DB Amazon Aurora.
-
Dengan menggunakan klien pilihan Anda, hubungkan ke instans MySQL eksternal dan buat akun pengguna MySQL yang akan 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'; -
Untuk instans MySQL eksternal, berikan hak akses
REPLICATION CLIENTdanREPLICATION SLAVEkepada pengguna replikasi Anda. Misalnya, untuk memberikan hak aksesREPLICATION CLIENTdanREPLICATION SLAVEpada semua basis data bagi pengguna 'repl_user' untuk domain Anda, jalankan perintah berikut.GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'example.com' IDENTIFIED BY 'password'; -
Ambil snapshot manual klaster DB Aurora MySQL untuk dijadikan sebagai replika baca sebelum mengatur replikasi. Jika Anda harus membuat ulang replikasi dengan klaster DB sebagai replika baca, Anda dapat memulihkan klaster DB Aurora MySQL dari snapshot ini daripada harus mengimpor data dari instans DB MySQL ke dalam klaster DB Aurora MySQL baru.
-
Jadikan klaster DB Amazon Aurora sebagai replika. Connect ke cluster Amazon Aurora DB sebagai pengguna utama dan identifikasi sumber database MySQL sebagai sumber replikasi dengan menggunakan atau dan prosedur. mysql.rds_set_external_master 2) mysql.rds_set_external_source (RDS ) 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); -
Pada klaster DB Amazon Aurora, panggil prosedur mysql.rds_start_replication untuk memulai replikasi.
CALL mysql.rds_start_replication;
Setelah Anda membuat replikasi antara instans DB MySQL sumber dan klaster DB Amazon Aurora, Anda dapat menambahkan Replika Aurora ke klaster DB Amazon Aurora 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.