

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

# Mengimpor data ke database Amazon RDS for MySQL dengan downtime yang dikurangi
<a name="mysql-importing-data-reduced-downtime"></a>

Dalam beberapa kasus, Anda mungkin perlu mengimpor data dari database MySQL eksternal yang mendukung aplikasi langsung ke RDS untuk MySQL DB instance atau RDS untuk MySQL Multi-AZ DB cluster. Gunakan prosedur berikut untuk meminimalkan dampak terhadap ketersediaan aplikasi. Prosedur ini juga dapat berguna jika Anda menggunakan basis data yang sangat besar. Dengan menggunakan prosedur ini, Anda dapat mengurangi biaya impor dengan mengurangi jumlah data yang diteruskan ke AWS lewat jaringan. 

Dalam prosedur ini, Anda dapat mentransfer salinan data basis data Anda ke instans Amazon EC2 dan mengimpor data ke basis data Amazon RDS baru. Anda kemudian menggunakan replikasi untuk membawa database Amazon RDS up-to-date dengan instans eksternal langsung Anda, sebelum mengarahkan aplikasi Anda ke database Amazon RDS. Konfigurasikan replikasi berdasarkan koordinat log biner.

**catatan**  
Jika Anda ingin mengimpor data ke instans RDS untuk MySQL DB dan skenario Anda mendukungnya, sebaiknya pindahkan data masuk dan keluar Amazon RDS dengan menggunakan file cadangan dan Amazon S3. Untuk informasi selengkapnya, lihat [Memulihkan cadangan ke instans Amazon RDS for MySQL DB](MySQL.Procedural.Importing.md). 

Diagram berikut menunjukkan mengimpor database MySQL eksternal ke database MySQL di Amazon RDS.

![\[Alur kerja yang menunjukkan mengimpor database MySQL eksternal ke database MySQL di Amazon RDS.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/MigrateMySQLToRDS_1.png)


## Tugas 1: Buat salinan database Anda yang ada
<a name="mysql-importing-data-reduced-downtime-copy-database"></a>

Langkah pertama dalam proses migrasi sejumlah besar data ke RDS untuk database MySQL dengan downtime minimal adalah membuat salinan data sumber. 

Diagram berikut menunjukkan membuat cadangan dari database MySQL.

![\[Alur kerja yang menunjukkan pembuatan cadangan database MySQL.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/MigrateMySQLToRDS_2.png)


Anda dapat menggunakan utilitas `mysqldump` untuk menciptakan sebuah pencadangan basis data dalam format SQL atau delimited-text. Kami menyarankan Anda melakukan uji coba dengan setiap format di lingkungan non-produksi untuk melihat metode mana yang meminimalkan jumlah waktu yang `mysqldump` berjalan.

Kami juga menyarankan Anda mempertimbangkan `mysqldump` kinerja terhadap manfaat yang ditawarkan dengan menggunakan format teks terbatas untuk memuat. Pencadangan yang menggunakan format delimited-text akan menciptakan sebuah file teks yang dipisahkan oleh tab untuk setiap tabel yang disalin ke lokasi lain. Untuk mengurangi jumlah waktu yang dibutuhkan untuk mengimpor basis data Anda, Anda dapat memuat file tersebut secara paralel menggunakan perintah `LOAD DATA LOCAL INFILE`. Untuk informasi selengkapnya, lihat [Langkah 5: Muat data](mysql-importing-data-any-source.md#mysql-importing-data-any-source-load-data) di prosedur Mengimpor data dari sumber apa pun.

Sebelum Anda memulai operasi pencadangan, pastikan untuk mengatur opsi replikasi pada database MySQL yang Anda salin ke Amazon RDS. Opsi replikasi mencakup pengaktifan pencatatan log biner dan pengaturan ID server yang unik. Pengaturan opsi ini menyebabkan server Anda mulai mencatat log transaksi basis data dan menyiapkannya menjadi sebuah instans replikasi sumber di lain waktu dalam proses ini.

Perhatikan rekomendasi dan pertimbangan berikut:
+ Gunakan opsi `--single-transaction` dengan `mysqldump` karena dapat memindahkan tahap konsisten dari basis data ke lokasi lain. Untuk memastikan file dump valid, jangan menjalankan pernyataan bahasa definisi data (DDL) saat `mysqldump` sedang berjalan. Anda dapat menjadwalkan sebuah window pemeliharaan untuk operasi ini.
+ Jangan sertakan skema berikut dalam filedump: 
  + `sys`
  + `performance_schema`
  + `information_schema`

  Utilitas `mysqldump` tidak menyertakan skema tersebut secara default.
+ Jika Anda perlu memigrasikan pengguna dan hak istimewa, pertimbangkan untuk menggunakan alat yang menghasilkan bahasa kontrol data (DCL) untuk membuatnya kembali, seperti utilitas. [pt-show-grants](https://www.percona.com/doc/percona-toolkit/LATEST/pt-show-grants.html)

### Mengatur opsi replikasi
<a name="mysql-importing-data-reduced-downtime-set-replication-options"></a>

1. Edit file `my.cnf` File ini biasanya terletak di bawah`/etc`.

   ```
   sudo vi /etc/my.cnf
   ```

   Tambahkan opsi `log_bin` dan `server_id` ke bagian `[mysqld]`. Opsi `log_bin` menyediakan sebuah pengidentifikasi nama file untuk file log biner. Opsi `server_id` menyediakan pengidentifikasi unik untuk server dalam hubungan sumber-replika.

   Contoh berikut menunjukkan `[mysqld]` bagian diperbarui dari `my.cnf` file:

   ```
   [mysqld]
   log-bin=mysql-bin
   server-id=1
   ```

   Untuk informasi selengkapnya, lihat [Mengatur Konfigurasi Sumber Replikasi](https://dev.mysql.com/doc/refman/8.4/en/replication-howto-masterbaseconfig.html) dalam dokumentasi MySQL.

1. Untuk replikasi dengan cluster DB multi-AZ, atur `GTID_MODE` parameter `ENFORCE_GTID_CONSISTENCY` dan ke. `ON`

   ```
   mysql> SET @@GLOBAL.ENFORCE_GTID_CONSISTENCY = ON;
   ```

   ```
   mysql> SET @@GLOBAL.GTID_MODE = ON;
   ```

   Pengaturan ini tidak diperlukan untuk replikasi dengan instans DB.

1. Mulai ulang layanan `mysql`.

   ```
   sudo service mysqld restart
   ```

### Untuk menciptakan sebuah salinan cadangan dari basis data yang sudah ada
<a name="mysql-importing-data-reduced-downtime-create-backup"></a>

1. Ciptakan sebuah cadangan dari data Anda menggunakan utilitas `mysqldump`, yang ditentukan dalam format SQL atau delimited-text.

   Untuk MySQL 8.0.25 dan versi yang lebih rendah, `--master-data=2` tentukan untuk membuat file cadangan yang dapat digunakan untuk memulai replikasi antar server. Untuk MySQL 8.0.26 dan versi yang lebih tinggi, `--source-data=2` tentukan untuk membuat file cadangan yang dapat digunakan untuk memulai replikasi antar server. Untuk informasi selengkapnya, lihat [mysqldump — Program Backup Database dalam](https://dev.mysql.com/doc/refman/8.4/en/mysqldump.html) dokumentasi MySQL.

   Untuk meningkatkan kinerja dan memastikan integritas data, gunakan `--order-by-primary` dan `--single-transaction` opsi untuk`mysqldump`.

   Untuk menghindari menyertakan database sistem MySQL dalam cadangan, jangan gunakan `--all-databases` opsi dengan. `mysqldump` Untuk informasi selengkapnya, lihat [Membuat Snapshot Data Menggunakan mysqldump dalam dokumentasi MySQL](https://dev.mysql.com/doc/mysql-replication-excerpt/8.0/en/replication-howto-mysqldump.html).

   Gunakan`chmod`, jika perlu, untuk memastikan bahwa direktori tempat file cadangan dibuat dapat ditulis.
**penting**  
Pada Windows, jalankan jendela perintah sebagai administrator.
   + Untuk menghasilkan output SQL, gunakan perintah berikut:

     Untuk Linux, macOS, atau Unix:

     ```
     sudo mysqldump \
         --databases database_name \
         --master-data=2  \
         --single-transaction \
         --order-by-primary \
         -r backup.sql \
         -u local_user \
         -ppassword
     ```
**catatan**  
Sebagai praktik terbaik keamanan, tentukan kredensil selain petunjuk yang ditampilkan dalam contoh.

     Untuk Windows:

     ```
     mysqldump ^
         --databases database_name ^
         --master-data=2  ^
         --single-transaction ^
         --order-by-primary ^
         -r backup.sql ^
         -u local_user ^
         -ppassword
     ```
**catatan**  
Sebagai praktik terbaik keamanan, tentukan kredensil selain petunjuk yang ditampilkan dalam contoh.
   + Untuk menghasilkan output teks terbatas, gunakan perintah berikut:

     Untuk Linux, macOS, atau Unix:

     ```
     sudo mysqldump \
         --tab=target_directory \
         --fields-terminated-by ',' \
         --fields-enclosed-by '"' \
         --lines-terminated-by 0x0d0a \
         database_name \
         --master-data=2 \
         --single-transaction \
         --order-by-primary \
         -ppassword
     ```

     Untuk Windows:

     ```
     mysqldump ^
         --tab=target_directory ^
         --fields-terminated-by "," ^
         --fields-enclosed-by """ ^
         --lines-terminated-by 0x0d0a ^
         database_name ^
         --master-data=2 ^
         --single-transaction ^
         --order-by-primary ^
         -ppassword
     ```
**catatan**  
Sebagai praktik terbaik keamanan, tentukan kredensil selain petunjuk yang ditampilkan dalam contoh.  
Pastikan Anda membuat prosedur, pemicu, fungsi, atau peristiwa tersimpan apa pun secara manual di dalam basis data Amazon RDS Anda. Jika objek ini berada di basis data yang Anda salin, jangan sertakan saat Anda menjalankan `mysqldump`. Untuk melakukannya, sertakan argumen berikut dengan `mysqldump` perintah Anda:   
`--routines=0`
`--triggers=0`
`--events=0`

     Untuk MySQL 8.0.22 dan versi yang lebih rendah, ketika Anda `mysqldump` menjalankan dan menentukan format teks terbatas, komentar dikembalikan. `CHANGE MASTER TO` Komentar ini berisi nama dan posisi file log master. Untuk MySQL 8.0.23 dan versi yang lebih tinggi, ketika Anda `mysqldump` menjalankan menggunakan format teks terbatas, komentar dikembalikan. `CHANGE REPLICATION SOURCE TO` Komentar ini berisi nama file log sumber dan posisi. Jika instance eksternal adalah MySQL 8.0.23 dan versi yang lebih tinggi, perhatikan nilai untuk dan. `MASTER_LOG_FILE` `MASTER_LOG_POS` Anda memerlukan nilai-nilai ini saat menyiapkan replikasi.

     Output berikut dikembalikan untuk MySQL 8.0.22 dan versi yang lebih rendah:

     ```
     -- Position to start replication or point-in-time recovery from
     --
     -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin-changelog.000031', MASTER_LOG_POS=107;
     ```

     Output berikut dikembalikan untuk MySQL 8.0.23 dan versi yang lebih tinggi:

     ```
     -- Position to start replication or point-in-time recovery from
     --
     -- CHANGE SOURCE TO SOURCE_LOG_FILE='mysql-bin-changelog.000031', SOURCE_LOG_POS=107;
     ```

     Untuk MySQL 8.0.22 dan versi yang lebih rendah, jika Anda menggunakan format SQL, Anda bisa mendapatkan nama file log master dan posisi di komentar di `CHANGE MASTER TO` file cadangan. Untuk MySQL 8.0.23 dan versi yang lebih tinggi, jika Anda menggunakan format SQL, Anda bisa mendapatkan nama file log sumber dan posisi di komentar di `CHANGE REPLICATION SOURCE TO` file cadangan. 

1. Kompres data yang disalin untuk mengurangi jumlah sumber daya jaringan yang dibutuhkan untuk menyalin data Anda ke basis data Amazon RDS. Catat ukuran file cadangan. Anda memerlukan informasi ini saat menentukan seberapa besar instans Amazon EC2 yang harus dibuat. Setelah selesai, kompres file cadangan menggunakan GZIP atau utilitas kompresi pilihan Anda. 
   + Untuk mengompres output SQL, gunakan perintah berikut:

     ```
     gzip backup.sql
     ```
   + Untuk mengompres output teks terbatas, gunakan perintah berikut:

     ```
     tar -zcvf backup.tar.gz target_directory
     ```

## Tugas 2: Buat instans Amazon EC2 dan salin database terkompresi
<a name="mysql-importing-data-reduced-downtime-create-ec2-copy-database"></a>

Penyalinan file cadangan basis data terkompresi ke sebuah instans Amazon EC2 membutuhkan lebih sedikit sumber daya jaringan dibandingkan dengan melakukan penyalinan langsung data tidak terkompresi antar instans basis data. Setelah data Anda ada di Amazon EC2, Anda dapat menyalinnya dari sana langsung ke database MySQL Anda. Agar Anda dapat menghemat biaya sumber daya jaringan, instans Amazon EC2 Anda harus Wilayah AWS sama dengan instans Amazon RDS DB Anda. Memiliki instans Amazon EC2 yang Wilayah AWS sama dengan database Amazon RDS Anda juga mengurangi latensi jaringan selama impor.

Diagram berikut menunjukkan penyalinan cadangan database ke instans Amazon EC2.

![\[Alur kerja yang menampilkan penyalinan cadangan database ke instans Amazon EC2.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/MigrateMySQLToRDS_3.png)


### Membuat instans Amazon EC2 dan menyalin data Anda
<a name="mysql-importing-data-reduced-downtime-create-ec2"></a>

1. Di Wilayah AWS tempat Anda berencana membuat database Amazon RDS, buat virtual private cloud (VPC), grup keamanan VPC, dan subnet VPC. Pastikan aturan masuk untuk grup keamanan VPC Anda mengizinkan alamat IP yang dibutuhkan agar aplikasi Anda dapat terhubung ke AWS. Anda dapat menentukan rentang alamat IP — misalnya, —atau grup keamanan VPC `203.0.113.0/24` lainnya. Anda dapat menggunakan [konsol VPC Amazon](https://console.aws.amazon.com/vpc) untuk membuat dan mengelola VPCs, subnet, dan grup keamanan. Untuk informasi selengkapnya, lihat [Memulai Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html#getting-started) di *Panduan Pengguna Amazon Virtual Private Cloud*.

1. Buka [konsol Amazon EC2](https://console.aws.amazon.com/ec2) dan pilih yang berisi Wilayah AWS instans Amazon EC2 dan database Amazon RDS Anda. Luncurkan sebuah instans Amazon EC2 menggunakan VPC, subnet, dan grup keamanan yang Anda buat pada Langkah 1. Pastikan Anda memilih tipe instans dengan penyimpanan yang cukup untuk file cadangan basis data Anda saat tidak terkompresi. Untuk detail tentang instans Amazon EC2, lihat [Memulai Amazon EC2 di Panduan Pengguna Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html) *Elastic Compute Cloud*.

1. Untuk terhubung ke basis data Amazon RDS Anda dari instans Amazon EC2 Anda, edit grup keamanan VPC Anda. Tambahkan aturan masuk yang menentukan alamat IP privat instans EC2 Anda. Anda dapat menemukan alamat IP pribadi pada tab **Detail** dari panel **Instans** dalam jendela konsol EC2. Untuk mengedit grup keamanan VPC dan menambahkan aturan masuk, pilih **Grup Keamanan** dalam panel navigasi konsol EC2, pilih grup keamanan Anda, lalu tambahkan aturan masuk untuk MySQL atau Aurora yang menentukan alamat IP privat instans EC2 Anda. Untuk mempelajari cara menambahkan aturan masuk ke grup keamanan VPC, [lihat Aturan grup keamanan di Panduan Pengguna](https://docs.aws.amazon.com/vpc/latest/userguide/security-group-rules.html) *Amazon Virtual Private Cloud*.

1. Salin file cadangan basis data terkompresi Anda dari sistem lokal ke instans Amazon EC2 Anda. Gunakan`chmod`, jika perlu, untuk memastikan bahwa Anda memiliki izin menulis untuk direktori target instans Amazon EC2. Anda dapat menggunakan `scp` atau klien Secure Shell (SSH) untuk menyalin file. Perintah berikut adalah `scp` perintah contoh:

   ```
   scp -r -i key pair.pem backup.sql.gz ec2-user@EC2 DNS:/target_directory/backup.sql.gz
   ```
**penting**  
Saat menyalin data sensitif, pastikan untuk menggunakan protokol transfer jaringan yang aman.

1. Hubungkan ke instans Amazon EC2 Anda dan instal pembaruan terkini dan alat klien MySQL dengan menggunakan perintah berikut:

   ```
   sudo yum update -y
   sudo yum install mysql -y
   ```

   Untuk informasi selengkapnya, lihat [Connect ke instans Linux Anda](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html#ec2-connect-to-instance-linux) di *Panduan Pengguna Amazon Elastic Compute Cloud*.
**penting**  
Contoh ini menginstal klien MySQL pada Amazon Machine Image (AMI) untuk distribusi Linux Amazon. Contoh ini tidak menginstal klien MySQL pada distribusi yang berbeda, seperti Ubuntu atau Red Hat Enterprise Linux. Untuk informasi tentang menginstal MySQL, lihat [Menginstal MySQL di dokumentasi MySQL](https://dev.mysql.com/doc/refman/8.4/en/installing.html).

1. Saat terhubung ke instans Amazon EC2, dekompresi file cadangan basis data Anda. Perintah berikut adalah contohnya.
   + Untuk mendekompresi output SQL, gunakan perintah berikut:

     ```
     gzip backup.sql.gz -d
     ```
   + Untuk mendekompresi output delimited-text, gunakan perintah berikut:

     ```
     tar xzvf backup.tar.gz
     ```

## Tugas 3: Membuat database MySQL dan mengimpor data dari instans Amazon EC2
<a name="mysql-importing-data-reduced-downtime-create-database-import-data"></a>

Dengan membuat RDS untuk instans MySQL DB atau RDS untuk kluster DB Multi-AZ MySQL Wilayah AWS sama dengan instans Amazon EC2 Anda, Anda dapat mengimpor file cadangan database dari Amazon EC2 lebih cepat daripada melalui internet.

Diagram berikut menunjukkan mengimpor cadangan dari instans Amazon EC2 ke database MySQL.

![\[Alur kerja yang menunjukkan mengimpor cadangan dari instans EC2 ke database MySQL.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/MigrateMySQLToRDS_4.png)


### Untuk membuat database MySQL dan mengimpor data Anda
<a name="mysql-importing-data-reduced-downtime-create-database"></a>

1. Tentukan kelas instans DB dan jumlah ruang penyimpanan yang dibutuhkan untuk mendukung perkiraan beban kerja untuk basis data Amazon RDS ini. Sebagai bagian dari proses ini, putuskan berapa ruang dan kapasitas pemrosesan yang memadai untuk prosedur pemuatan data Anda. Juga, putuskan apa yang diperlukan untuk menangani beban kerja produksi. Anda dapat memperkirakan ini berdasarkan ukuran dan sumber daya database MySQL sumber. Untuk informasi selengkapnya, lihat [ DB](Concepts.DBInstanceClass.md).

1. Buat instans DB atau cluster DB multi-AZ di Wilayah AWS yang berisi instans Amazon EC2 Anda.

   Untuk membuat RDS untuk MySQL Multi-AZ DB cluster, ikuti petunjuk di. [Membuat cluster DB Multi-AZ untuk Amazon RDS](create-multi-az-db-cluster.md)

   Untuk membuat instans RDS untuk MySQL DB, ikuti petunjuk [Membuat instans DB Amazon RDS](USER_CreateDBInstance.md) dan gunakan panduan berikut:
   + Tentukan versi mesin DB yang kompatibel dengan instans DB sumber Anda.
   + Tentukan cloud privat virtual (VPC) dan grup keamanan VPC yang sama untuk instans Amazon EC2 Anda. Pendekatan ini memastikan bahwa instans Amazon EC2 dan instans Amazon RDS Anda terlihat oleh satu sama lain pada jaringan. Pastikan instans DB Anda dapat diakses publik. Untuk mengatur replikasi dengan database sumber Anda seperti yang dijelaskan di bagian berikut, instans DB Anda harus dapat diakses publik.
   + Jangan mengonfigurasikan lebih dari satu Zona Ketersediaan, retensi cadangan, atau replika baca sebelum Anda selesai mengimpor cadangan basis data. Setelah impor selesai, Anda dapat mengonfigurasi Multi-AZ dan retensi cadangan untuk instans produksi.

1. Tinjau opsi konfigurasi default untuk basis data Amazon RDS. Jika grup parameter default untuk basis data tidak memiliki opsi konfigurasi yang Anda inginkan, temukan grup parameter lain atau buat grup parameter baru. Untuk informasi selengkapnya tentang membuat grup parameter, lihat[Grup parameter untuk RDS](USER_WorkingWithParamGroups.md). 

1. Hubungkan ke basis data Amazon RDS baru sebagai pengguna master. Buat pengguna yang diperlukan untuk mendukung administrator, aplikasi, dan layanan yang perlu mengakses instans DB. Nama host untuk database Amazon RDS adalah nilai **Endpoint** untuk instance DB ini tanpa nomor port, misalnya,. `mysampledb.123456789012.us-west-2.rds.amazonaws.com` Anda dapat menemukan nilai endpoint dalam detail database di konsol Amazon RDS.

1. Hubungkan ke instans Amazon EC2 Anda. Untuk informasi selengkapnya, lihat [Connect ke instans Linux Anda](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html#ec2-connect-to-instance-linux) di *Panduan Pengguna Amazon Elastic Compute Cloud*. 

1. Hubungkan ke basis data Amazon RDS Anda sebagai sebuah host jarak jauh dari instans Amazon EC2 Anda menggunakan perintah `mysql`. Perintah berikut adalah contoh:

   ```
   mysql -h host_name -P 3306 -u db_master_user -p
   ```

   *host\$1name*Ini adalah titik akhir basis data Amazon RDS.

1. Pada `mysql` prompt, jalankan `source` perintah dan berikan nama file dump database Anda. Perintah ini memuat data ke instans Amazon RDS DB.
   + Untuk format SQL, gunakan perintah berikut:

     ```
     mysql> source backup.sql;
     ```
   + Untuk format teks terbatas, buat database terlebih dahulu, jika bukan database default yang Anda buat saat menyiapkan database Amazon RDS.

     ```
     mysql> create database database_name;
     mysql> use database_name;
     ```

     Lalu buat tabel.

     ```
     mysql> source table1.sql
     mysql> source table2.sql
     etc...
     ```

     Lalu impor data.

     ```
     mysql> LOAD DATA LOCAL INFILE 'table1.txt' INTO TABLE table1 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '0x0d0a';
     mysql> LOAD DATA LOCAL INFILE 'table2.txt' INTO TABLE table2 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '0x0d0a';
     etc...
     ```

     Untuk meningkatkan performa, Anda dapat melakukan operasi ini secara paralel dari beberapa koneksi sehingga semua tabel Anda akan diciptakan dan kemudian dimuat secara bersamaan.
**catatan**  
Jika Anda menggunakan opsi pemformatan data apa pun `mysqldump` saat Anda pertama kali membuang tabel, pastikan untuk menggunakan opsi yang sama `LOAD DATA LOCAL INFILE` untuk memastikan interpretasi yang tepat dari konten file data.

1. Jalankan `SELECT` kueri sederhana terhadap satu atau dua tabel dalam database yang diimpor untuk memverifikasi bahwa impor berhasil.

Jika Anda tidak lagi memerlukan instans Amazon EC2 yang digunakan dalam prosedur ini, hentikan instans EC2 untuk mengurangi penggunaan sumber daya Anda. AWS Untuk menghentikan instans EC2, lihat [Mengakhiri instance di Panduan Pengguna](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#terminating-instances-console) *Amazon Elastic Compute Cloud*.

## Tugas 4: Replikasi data dari database eksternal Anda ke database Amazon RDS baru Anda
<a name="mysql-importing-data-reduced-downtime-replicate-data"></a>

Database sumber Anda kemungkinan diperbarui selama waktu yang diperlukan untuk menyalin dan mentransfer data ke database MySQL. Dengan demikian, Anda dapat menggunakan replikasi untuk membawa database yang disalin up-to-date dengan database sumber.

![\[Alur kerja yang menunjukkan replikasi data dari database MySQL eksternal ke database di Amazon RDS.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/MigrateMySQLToRDS_5.png)


Izin yang diperlukan untuk memulai replikasi pada database Amazon RDS dibatasi dan tidak tersedia untuk pengguna master Amazon RDS Anda. Karena itu, gunakan prosedur tersimpan Amazon RDS yang sesuai untuk versi mesin utama Anda: 
+ [mysql\$1rds\$1set\$1external\$1master (RDS untuk MySQL mayor versi 8.0 dan lebih rendah)](mysql-stored-proc-replicating.md#mysql_rds_set_external_master) 
+ [](mysql-stored-proc-replicating.md#mysql_rds_set_external_source)
+ [mysql.rds\$1set\$1external\$1master\$1gtid](mysql_rds_set_external_master_gtid.md)untuk mengkonfigurasi replikasi dan [mysql.rds\$1start\$1replication](mysql-stored-proc-replicating.md#mysql_rds_start_replication) untuk memulai replikasi

### Memulai replikasi
<a name="mysql-importing-data-reduced-downtime-start-replication"></a>

Di Tugas 1, [saat Anda mengatur opsi replikasi](#mysql-importing-data-reduced-downtime-set-replication-options), Anda mengaktifkan logging biner dan menetapkan ID server unik untuk basis data sumber Anda. Sekarang, Anda dapat mengatur database Amazon RDS Anda sebagai replika dengan database langsung Anda sebagai contoh replikasi sumber.

1. Di konsol Amazon RDS, tambahkan alamat IP server yang menghosting database sumber ke grup keamanan VPC untuk database Amazon RDS. Untuk informasi selengkapnya tentang mengonfigurasi grup keamanan VPC, [lihat Mengonfigurasi aturan grup keamanan](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-security-group-rules.html) di Panduan Pengguna *Amazon Virtual Private Cloud*. 

   Anda mungkin juga perlu mengonfigurasi jaringan lokal Anda untuk mengizinkan koneksi dari alamat IP database Amazon RDS Anda sehingga dapat berkomunikasi dengan instance sumber Anda. Untuk menemukan alamat IP database Amazon RDS, gunakan `host` perintah:

   ```
   host host_name
   ```

   *host\$1name*Ini adalah nama DNS dari titik akhir database Amazon RDS, misalnya. `myinstance.123456789012.us-east-1.rds.amazonaws.com` Anda dapat menemukan nilai endpoint dalam detail instans DB di konsol Amazon RDS.

1. Menggunakan klien pilihan Anda, hubungkan ke instans sumber dan buat pengguna untuk digunakan untuk replikasi. Akun ini digunakan hanya untuk replikasi dan harus dibatasi pada domain Anda untuk meningkatkan keamanan. Perintah berikut adalah contoh:

   ```
   CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY 'password';
   ```
**catatan**  
Tentukan kredensial selain prompt yang ditampilkan di sini sebagai praktik terbaik keamanan.

1. Untuk instans sumber, berikan hak istimewa `REPLICATION CLIENT` dan `REPLICATION SLAVE` kepada pengguna replikasi Anda. Misalnya, untuk memberikan keistimewaan `REPLICATION CLIENT` dan `REPLICATION SLAVE` pada semua basis data untuk pengguna '`repl_user`' pada domain Anda, terbitkan perintah berikut:

   ```
   GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com';
   ```

1. Jadikan basis data Amazon RDS sebagai replika. Connect ke database Amazon RDS sebagai pengguna utama dan identifikasi database sumber sebagai instance replikasi sumber dengan menggunakan prosedur tersimpan Amazon RDS yang sesuai: 
   + [mysql\$1rds\$1set\$1external\$1master (RDS untuk MySQL mayor versi 8.0 dan lebih rendah)](mysql-stored-proc-replicating.md#mysql_rds_set_external_master)
   + [](mysql-stored-proc-replicating.md#mysql_rds_set_external_source)

   Jika Anda memiliki file cadangan format SQL, gunakan nama file log master dan posisi log master yang Anda tentukan di Langkah 4. Jika Anda menggunakan format teks terbatas, gunakan nama dan posisi yang Anda tentukan saat membuat file cadangan. Perintah berikut adalah contohnya:

   **MySQL 8.4 dan versi yang lebih tinggi**

   ```
   CALL mysql.rds_set_external_source ('myserver.mydomain.com', 3306,
       'repl_user', 'password', 'mysql-bin-changelog.000031', 107, 1);
   ```

   **MySQL 8.0 dan versi yang lebih rendah**

   ```
   CALL mysql.rds_set_external_master ('myserver.mydomain.com', 3306,
       'repl_user', 'password', 'mysql-bin-changelog.000031', 107, 1);
   ```
**catatan**  
Tentukan kredensial selain prompt yang ditampilkan di sini sebagai praktik terbaik keamanan.

1. Pada database Amazon RDS, untuk memulai replikasi, jalankan perintah berikut yang menggunakan prosedur [mysql.rds\$1start\$1replication](mysql-stored-proc-replicating.md#mysql_rds_start_replication) tersimpan:

   ```
   CALL mysql.rds_start_replication;
   ```

1. Pada database Amazon RDS, untuk menentukan kapan replika diperbarui dengan instance replikasi sumber, jalankan perintah [SHOW REPLICA](https://dev.mysql.com/doc/refman/8.0/en/show-replica-status.html) STATUS. Hasil perintah `SHOW REPLICA STATUS` mencakup bidang `Seconds_Behind_Master`. Ketika `Seconds_Behind_Master` bidang mengembalikan 0, maka replika up to date dengan contoh replikasi sumber.
**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`. 

1. Setelah database Amazon RDS up to date, aktifkan backup otomatis sehingga Anda dapat memulihkan database tersebut jika diperlukan. Anda dapat mengaktifkan atau memodifikasi pencadangan otomatis untuk database Amazon RDS Anda dengan menggunakan konsol [Amazon](https://console.aws.amazon.com/rds/) RDS. Untuk informasi selengkapnya, lihat [Pengantar cadangan](USER_WorkingWithAutomatedBackups.md).

## Tugas 5: Arahkan ulang aplikasi langsung Anda ke instans Amazon RDS Anda
<a name="mysql-importing-data-reduced-downtime-redirect-app"></a>

Setelah database MySQL diperbarui dengan instance replikasi sumber, Anda sekarang dapat memperbarui aplikasi langsung Anda untuk menggunakan instans Amazon RDS. 

![\[Alur kerja yang menunjukkan penghentian replikasi dan mengarahkan aplikasi langsung ke database di Amazon RDS.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/MigrateMySQLToRDS_6.png)


### Untuk mengarahkan aplikasi langsung Anda ke database MySQL Anda dan menghentikan replikasi
<a name="mysql-importing-data-reduced-downtime-redirect-app-stop-app"></a>

1. Untuk menambahkan grup keamanan VPC untuk basis data Amazon RDS, tambahkan alamat IP server yang meng-host aplikasi. Untuk informasi selengkapnya tentang memodifikasi grup keamanan VPC, [lihat Mengonfigurasi aturan grup keamanan](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-security-group-rules.html) di Panduan Pengguna *Amazon Virtual Private Cloud*. 

1. Verifikasi bahwa `Seconds_Behind_Master` bidang dalam hasil perintah [SHOW REPLICA STATUS](https://dev.mysql.com/doc/refman/8.0/en/show-replica-status.html) adalah 0, yang menunjukkan bahwa replika sudah up to date dengan instance replikasi sumber.

   ```
   SHOW REPLICA STATUS;
   ```
**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`. 

1. Tutup semua koneksi ke sumber setelah transaksi selesai.

1. Perbarui aplikasi Anda untuk menggunakan basis data Amazon RDS. Pembaruan ini biasanya melibatkan perubahan pengaturan koneksi untuk mengidentifikasi nama host dan port basis data Amazon RDS, akun pengguna dan kata sandi untuk terhubung, dan basis data yang digunakan.

1. Hubungkan ke instans DB.

   Untuk klaster DB Multi-AZ, hubungkan ke instans DB penulis.

1. Hentikan replikasi untuk instans Amazon RDS dengan menjalankan perintah berikut yang menggunakan prosedur [mysql.rds\$1stop\$1replication](mysql-stored-proc-replicating.md#mysql_rds_stop_replication) tersimpan:

   ```
   CALL mysql.rds_stop_replication;
   ```

1. Setel ulang konfigurasi replikasi sehingga instance ini tidak lagi diidentifikasi sebagai replika dengan menggunakan prosedur tersimpan Amazon RDS yang sesuai di database Amazon RDS Anda:
   +  [mysql\$1rds\$1reset\$1external\$1master (RDS untuk MySQL mayor versi 8.0 dan lebih rendah)](mysql-stored-proc-replicating.md#mysql_rds_reset_external_master) 
   + [](mysql-stored-proc-replicating.md#mysql_rds_reset_external_source)

   **MySQL 8.4 dan versi yang lebih tinggi**

   ```
   CALL mysql.rds_reset_external_source;
   ```

   **MySQL 8.0 dan versi yang lebih rendah**

   ```
   CALL mysql.rds_reset_external_master;
   ```

1. Aktifkan fitur Amazon RDS tambahan seperti dukungan Multi-AZ dan replika baca. Lihat informasi yang lebih lengkap di [Mengkonfigurasi dan mengelola penyebaran Multi-AZ untuk Amazon RDS](Concepts.MultiAZ.md) dan [Menggunakan replika baca instans DB](USER_ReadRepl.md).