Mengekspor data dari instans DB MySQL dengan menggunakan replikasi - 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.

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.

  1. Siapkan instans DB MySQL eksternal.

  2. Siapkan instans DB MySQL sumber untuk direplikasi.

  3. Gunakan utilitas mysqldump untuk mentransfer basis data dari instans DB MySQL sumber ke basis data MySQL eksternal.

  4. Mulai replikasi ke basis data MySQL eksternal.

  5. 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
  1. Instal basis data MySQL eksternal.

  2. Hubungkan ke basis data MySQL eksternal sebagai pengguna master. Kemudian buat pengguna yang diperlukan untuk mendukung administrator, aplikasi, dan layanan yang mengakses basis data.

  3. Ikuti petunjuk di dokumentasi MySQL untuk menyiapkan basis data MySQL eksternal sebagai replika. Untuk informasi selengkapnya, lihat Mengatur Konfigurasi Replika dalam dokumentasi MySQL.

  4. 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.

  5. 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.

  6. (Opsional) Tetapkan parameter max_allowed_packet ke 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
  1. Pastikan komputer klien Anda memiliki ruang disk yang cukup untuk menyimpan log biner saat menyiapkan replikasi.

  2. Connect ke instance MySQL DB sumber, dan buat akun replikasi dengan mengikuti petunjuk dalam Membuat Pengguna untuk Replikasi dalam dokumentasi MySQL.

  3. 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.

  4. Tentukan aturan egress:

  5. 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.

  6. 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.

  7. Gunakan prosedur tersimpan mysql.rds_set_configuration untuk 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.

  8. 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.

  9. Setelah replika baca Amazon RDS dibuat, panggil prosedur tersimpan mysql.rds_stop_replication untuk menghentikan proses replikasi. Instans DB MySQL sumber sudah tidak membersihkan file log biner, sehingga file tersedia untuk proses replikasi.

  10. (Opsional) Tetapkan parameter max_allowed_packet dan parameter slave_max_allowed_packet ke 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
  1. Hubungkan ke replika baca RDS dari instans DB MySQL sumber, dan jalankan pernyataan SHOW REPLICA STATUS\G MySQL. Catat nilai untuk hal berikut:

    • Master_Host

    • Master_Port

    • Master_Log_File

    • Exec_Master_Log_Pos

    catatan

    Versi MySQL sebelumnya menggunakan SHOW SLAVE STATUS, bukan SHOW REPLICA STATUS. Jika Anda menggunakan versi MySQL sebelum 8.0.23, gunakan SHOW SLAVE STATUS.

  2. 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 mysqldump dari 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 mysqldump pada klien dan menuliskan dump ke sebuah file.

    Untuk Linux, macOS, atau Unix:

    mysqldump -h source_MySQL_DB_instance_endpoint \ -u user \ -ppassword \ --port=3306 \ --single-transaction \ --routines \ --triggers \ --databases database database2 > path/rds-dump.sql

    Untuk Windows:

    mysqldump -h source_MySQL_DB_instance_endpoint ^ -u user ^ -ppassword ^ --port=3306 ^ --single-transaction ^ --routines ^ --triggers ^ --databases database database2 > path\rds-dump.sql

    Anda 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
  1. Gunakan pernyataan CHANGE MASTER MySQL untuk mengonfigurasi basis data MySQL eksternal. Tentukan ID dan kata sandi pengguna yang diberi izin REPLICATION SLAVE. Tentukan nilai Master_Host, Master_Port, Relay_Master_Log_File, dan Exec_Master_Log_Pos yang Anda dapatkan dari pernyataan SHOW REPLICA STATUS\G MySQL yang Anda jalankan pada replika baca RDS. Untuk informasi selengkapnya, lihat MENGUBAH MASTER TO Statement di dokumentasi MySQL.

    catatan

    Versi MySQL sebelumnya menggunakan SHOW SLAVE STATUS, bukan SHOW REPLICA STATUS. Jika Anda menggunakan versi MySQL sebelum 8.0.23, gunakan SHOW SLAVE STATUS.

  2. Gunakan perintah START REPLICA MySQL 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, bukan START REPLICA. Jika Anda menggunakan versi MySQL sebelum 8.0.23, gunakan START SLAVE.

  3. Jalankan perintah SHOW REPLICA STATUS\G MySQL 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 dokumentasi MySQL.

  4. Setelah replikasi pada basis data MySQL eksternal berhasil mengejar instans DB MySQL sumber, gunakan perintah STOP REPLICA MySQL DB untuk menghentikan replikasi dari instans DB MySQL sumber.

    catatan

    Versi MySQL sebelumnya menggunakan STOP SLAVE, bukan STOP REPLICA. Jika Anda menggunakan versi MySQL sebelum 8.0.23, gunakan STOP SLAVE.

  5. 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.