Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengekspor data dari instans DB MySQL dengan menggunakan replikasi
Untuk mengekspor data dari instans DB MySQL ke instans MySQL yang berjalan di luar Amazon RDS, Anda dapat menggunakan replikasi. Dalam skenario ini, instans DB MySQL adalah instans DB MySQL sumber, dan instans MySQL yang berjalan di luar Amazon RDS adalah basis data MySQL eksternal.
Basis data MySQL eksternal dapat berjalan secara on-premise di pusat data Anda, atau pada instans Amazon EC2. Basis data MySQL eksternal harus menjalankan versi yang sama dengan instans DB MySQL sumber, atau versi lebih baru.
Replikasi ke basis data MySQL eksternal hanya didukung selama waktu yang diperlukan untuk mengekspor basis data dari instans DB MySQL sumber. Replikasi harus diakhiri ketika data telah diekspor dan aplikasi dapat mulai mengakses instans MySQL eksternal.
Daftar berikut menunjukkan langkah-langkah yang harus diambil. Setiap langkah dibahas secara lebih mendetail di bagian berikutnya.
Siapkan instans DB MySQL eksternal.
Siapkan instans DB MySQL sumber untuk direplikasi.
Gunakan utilitas mysqldump untuk mentransfer basis data dari instans DB MySQL sumber ke basis data MySQL eksternal.
Mulai replikasi ke basis data MySQL eksternal.
Setelah selesai mengekspor, hentikan replikasi.
Menyiapkan basis data MySQL eksternal
Lakukan langkah-langkah berikut untuk menyiapkan basis data MySQL eksternal.
Menyiapkan basis data MySQL eksternal
-
Instal basis data MySQL eksternal.
-
Hubungkan ke basis data MySQL eksternal sebagai pengguna master. Kemudian buat pengguna yang diperlukan untuk mendukung administrator, aplikasi, dan layanan yang mengakses basis data.
-
Ikuti petunjuk di dokumentasi MySQL untuk menyiapkan basis data MySQL eksternal sebagai replika. Untuk informasi selengkapnya, lihat Mengatur Konfigurasi Replika
dalam dokumentasi MySQL. -
Lakukan konfigurasi aturan egress untuk basis data MySQL eksternal agar beroperasi sebagai replika baca selama pengeksporan. Aturan egress memungkinkan basis data MySQL eksternal untuk terhubung ke instans DB MySQL sumber selama replikasi. Tentukan aturan egress yang memungkinkan koneksi Transmission Control Protocol (TCP) ke port dan alamat IP instans DB MySQL sumber.
Tentukan aturan egress yang sesuai untuk lingkungan Anda:
-
Jika basis data MySQL eksternal berjalan di instans Amazon EC2 di dalam cloud privat virtual (VPC) berdasarkan layanan Amazon VPC, tentukan aturan egress dalam grup keamanan VPC. Untuk informasi selengkapnya, lihat Mengontrol akses dengan grup keamanan.
-
Jika basis data MySQL eksternal diinstal secara on-premise, tentukan aturan egress di firewall.
-
-
Jika basis data MySQL eksternal berjalan dalam VPC, lakukan konfigurasi aturan untuk aturan daftar kontrol akses (ACL) VPC selain aturan egress grup keamanan:
-
Lakukan konfigurasi aturan ingress ACL yang memungkinkan lalu lintas TCP ke port 1024–65535 dari alamat IP instans DB MySQL sumber.
-
Lakukan konfigurasi aturan egress ACL yang memungkinkan lalu lintas TCP keluar ke port dan alamat IP instans DB MySQL sumber.
Untuk informasi selengkapnya tentang jaringan VPC Amazon ACLs, lihat Panduan Pengguna Jaringan ACLs di Amazon VPC.
-
-
(Opsional) Tetapkan parameter
max_allowed_packetke ukuran maksimum untuk menghindari kesalahan replikasi. Kami merekomendasikan pengaturan ini.
Siapkan instans DB MySQL sumber
Lakukan langkah-langkah berikut untuk menyiapkan instans DB MySQL sumber sebagai sumber replikasi.
Menyiapkan instans DB MySQL sumber
-
Pastikan komputer klien Anda memiliki ruang disk yang cukup untuk menyimpan log biner saat menyiapkan replikasi.
-
Connect ke instance MySQL DB sumber, dan buat akun replikasi dengan mengikuti petunjuk dalam Membuat Pengguna untuk Replikasi dalam dokumentasi
MySQL. -
Lakukan konfigurasi aturan ingress pada sistem yang menjalankan instans DB MySQL sumber agar basis data MySQL eksternal dapat terhubung selama replikasi. Tentukan aturan ingress yang mengizinkan koneksi TCP ke port yang digunakan oleh instans DB MySQL sumber dari alamat IP basis data MySQL eksternal.
-
Tentukan aturan egress:
-
Jika instans DB MySQL sumber berjalan di VPC, tentukan aturan ingress dalam grup keamanan VPC. Untuk informasi selengkapnya, lihat Mengontrol akses dengan grup keamanan.
-
-
Jika instans DB MySQL sumber berjalan di VPC, lakukan konfigurasi aturan ACL VPC, selain aturan ingress grup keamanan:
-
Lakukan konfigurasi aturan ingress ACL untuk mengizinkan koneksi TCP ke port yang digunakan oleh instans Amazon RDS dari alamat IP basis data MySQL eksternal.
-
Lakukan konfigurasi aturan egress ACL untuk mengizinkan koneksi TCP dari port 1024–65535 ke alamat IP basis data MySQL eksternal.
Untuk informasi selengkapnya tentang jaringan VPC Amazon ACLs, lihat Jaringan ACLs di Panduan Pengguna Amazon VPC.
-
-
Pastikan periode retensi cadangan ditetapkan cukup lama sehingga tidak ada log biner yang dihapus selama ekspor. Jika terdapat log yang dihapus sebelum ekspor selesai, Anda harus memulai ulang replikasi dari awal. Untuk informasi selengkapnya tentang cara mengatur periode retensi cadangan, lihat Pengantar cadangan.
-
Gunakan prosedur tersimpan
mysql.rds_set_configurationuntuk menetapkan periode penyimpanan log biner dalam waktu yang cukup lama sehingga log biner tidak dihapus selama ekspor. Untuk informasi selengkapnya, lihat Mengakses log biner MySQL. -
Buat replika baca Amazon RDS dari instans DB MySQL sumber untuk lebih memastikan bahwa log biner instans DB MySQL sumber tidak dibersihkan. Untuk informasi selengkapnya, lihat Membuat replika baca.
-
Setelah replika baca Amazon RDS dibuat, panggil prosedur tersimpan
mysql.rds_stop_replicationuntuk menghentikan proses replikasi. Instans DB MySQL sumber sudah tidak membersihkan file log biner, sehingga file tersedia untuk proses replikasi. -
(Opsional) Tetapkan parameter
max_allowed_packetdan parameterslave_max_allowed_packetke ukuran maksimum untuk menghindari kesalahan replikasi. Ukuran maksimum untuk kedua parameter tersebut adalah 1 GB. Kami merekomendasikan pengaturan ini untuk kedua parameter. Untuk informasi tentang mengatur parameter, lihat .
Menyalin basis data
Lakukan langkah-langkah berikut untuk menyalin basis data.
Untuk menyalin basis data
-
Hubungkan ke replika baca RDS dari instans DB MySQL sumber, dan jalankan pernyataan
SHOW REPLICA STATUS\GMySQL. Catat nilai untuk hal berikut:-
Master_Host -
Master_Port -
Master_Log_File -
Exec_Master_Log_Pos
catatan
Versi MySQL sebelumnya menggunakan
SHOW SLAVE STATUS, bukanSHOW REPLICA STATUS. Jika Anda menggunakan versi MySQL sebelum 8.0.23, gunakanSHOW SLAVE STATUS. -
-
Gunakan utilitas mysqldump untuk membuat snapshot, yang menyalin data dari Amazon RDS ke komputer klien lokal Anda. Pastikan komputer klien Anda memiliki cukup ruang untuk menyimpan file
mysqldumpdari basis data yang akan direplikasi. Untuk basis data yang sangat besar, proses ini dapat memakan waktu beberapa jam. Ikuti petunjuk dalam Membuat Snapshot Data Menggunakan mysqldump dalam dokumentasi MySQL. Contoh berikut menjalankan
mysqldumppada klien dan menuliskan dump ke sebuah file.Untuk Linux, macOS, atau Unix:
mysqldump -hsource_MySQL_DB_instance_endpoint\ -uuser\ -ppassword\ --port=3306 \ --single-transaction \ --routines \ --triggers \ --databasesdatabase database2>path/rds-dump.sqlUntuk Windows:
mysqldump -hsource_MySQL_DB_instance_endpoint^ -uuser^ -ppassword^ --port=3306 ^ --single-transaction ^ --routines ^ --triggers ^ --databasesdatabase database2>path\rds-dump.sqlAnda dapat memuat file cadangan ke dalam basis data MySQL eksternal. Untuk informasi selengkapnya, lihat Reloading SQL-Format Backups
di dokumentasi MySQL. Anda dapat menjalankan utilitas lain untuk memuat data ke dalam basis data MySQL eksternal.
Menyelesaikan ekspor
Lakukan langkah-langkah berikut untuk menyelesaikan ekspor.
Untuk menyelesaikan ekspor
-
Gunakan pernyataan
CHANGE MASTERMySQL untuk mengonfigurasi basis data MySQL eksternal. Tentukan ID dan kata sandi pengguna yang diberi izinREPLICATION SLAVE. Tentukan nilaiMaster_Host,Master_Port,Relay_Master_Log_File, danExec_Master_Log_Posyang Anda dapatkan dari pernyataanSHOW REPLICA STATUS\GMySQL yang Anda jalankan pada replika baca RDS. Untuk informasi selengkapnya, lihat MENGUBAH MASTER TO Statementdi dokumentasi MySQL. catatan
Versi MySQL sebelumnya menggunakan
SHOW SLAVE STATUS, bukanSHOW REPLICA STATUS. Jika Anda menggunakan versi MySQL sebelum 8.0.23, gunakanSHOW SLAVE STATUS. -
Gunakan perintah
START REPLICAMySQL untuk memulai replikasi dari instans DB MySQL sumber ke basis data MySQL eksternal.Tindakan ini akan memulai replikasi dari instans DB MySQL sumber dan mengekspor semua perubahan sumber yang telah terjadi setelah Anda menghentikan replikasi dari replika baca Amazon RDS.
catatan
Versi MySQL sebelumnya menggunakan
START SLAVE, bukanSTART REPLICA. Jika Anda menggunakan versi MySQL sebelum 8.0.23, gunakanSTART SLAVE. -
Jalankan perintah
SHOW REPLICA STATUS\GMySQL pada basis data MySQL eksternal untuk memverifikasi bahwa basis data tersebut beroperasi sebagai replika baca. Untuk informasi selengkapnya tentang menafsirkan hasil, lihat SHOW SLAVE | REPLICA STATUS Statement dalam dokumentasiMySQL. -
Setelah replikasi pada basis data MySQL eksternal berhasil mengejar instans DB MySQL sumber, gunakan perintah
STOP REPLICAMySQL DB untuk menghentikan replikasi dari instans DB MySQL sumber.catatan
Versi MySQL sebelumnya menggunakan
STOP SLAVE, bukanSTOP REPLICA. Jika Anda menggunakan versi MySQL sebelum 8.0.23, gunakanSTOP SLAVE. -
Di replika baca Amazon RDS, panggil prosedur tersimpan
mysql.rds_start_replication. Tindakan ini memungkinkan Amazon RDS untuk mulai membersihkan file log biner dari instans DB MySQL sumber.