

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

# Mengimpor data ke instans Amazon RDS untuk MariaDB DB dengan pengurangan waktu henti
<a name="mariadb-importing-data-reduced-downtime"></a>

Dalam beberapa kasus, Anda mungkin perlu mengimpor data dari database MariaDB eksternal yang mendukung aplikasi langsung ke instans RDS untuk MariaDB DB. 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 melintasi jaringan ke AWS. 

Dalam prosedur ini, Anda dapat mentransfer salinan data basis data Anda ke instans Amazon EC2 dan mengimpor data ke basis data Amazon RDS baru. Lalu Anda dapat menggunakan replikasi untuk memperbarui basis data Amazon RDS dengan instans eksternal live Anda, sebelum mengalihkan aplikasi Anda ke basis data Amazon RDS. Jika instance eksternal adalah MariaDB 10.0.24 atau lebih tinggi dan instance target adalah RDS untuk MariaDB, konfigurasikan replikasi MariaDB berdasarkan pengidentifikasi transaksi global (GTID). Jika tidak, lakukan konfigurasi pada replikasi berdasarkan koordinat log biner. Kami merekomendasikan GTID-based replikasi jika database eksternal Anda mendukungnya karena GTID-based replikasi adalah metode yang lebih andal. Untuk informasi selengkapnya, lihat [Global transaction ID](http://mariadb.com/kb/en/mariadb/global-transaction-id/) dalam dokumentasi MariaDB.

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

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


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

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

Diagram berikut menunjukkan pembuatan cadangan database MariaDB.

![Alur kerja yang menunjukkan pembuatan cadangan database MariaDB.](https://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/MigrateMariaDBToRDS_2.png)


Anda dapat menggunakan `mariadb-dump` utilitas `mysqldump` or untuk membuat cadangan database dalam format SQL atau teks terbatas. Di MariaDB 10.5, klien disebut [ mariadb-dump. ](https://mariadb.com/kb/en/mariadb-dump/) Dimulai dengan MariaDB 11.0.1, Anda harus menggunakan `mariadb-dump` alih-alih. `mysqldump` Kami menyarankan Anda melakukan uji coba dengan setiap format di lingkungan non-produksi untuk melihat metode mana yang meminimalkan jumlah waktu yang di `mysqldump` `mariadb-dump` jalankan.

Kami juga menyarankan Anda menimbang `mysqldump` atau `mariadb-dump` 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](mariadb-importing-data-any-source.md#mariadb-importing-data-any-source-load-data) dalam prosedur Mengimpor data dari sumber apa pun.

Sebelum memulai operasi pencadangan, pastikan untuk mengatur opsi replikasi pada database MariaDB 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 `--single-transaction` opsi dengan `mysqldump` atau `mariadb-dump` karena membuang status database yang konsisten. Untuk memastikan file dump yang valid, jangan jalankan pernyataan bahasa definisi data (DDL) saat `mysqldump` atau `mariadb-dump` sedang berjalan. Anda dapat menjadwalkan jadwal pemeliharaan untuk operasi ini.
+ Jangan sertakan skema berikut dalam filedump: 
  + `sys`
  + `performance_schema`
  + `information_schema`

  `mariadb-dump`Utilitas `mysqldump` dan mengecualikan skema ini secara default.
+ Jika Anda harus memigrasikan pengguna dan keistimewaan, pertimbangkan untuk menggunakan sebuah alat yang menghasilkan bahasa kontrol data (DCL) untuk menciptakan ulang, seperti utilitas [pt-show-grants](https://www.percona.com/doc/percona-toolkit/LATEST/pt-show-grants.html).

### Untuk mengatur opsi replikasi
<a name="mariadb-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 `[mariadb]` bagian `my.cnf` file yang diperbarui:

   ```
   [mariadb]
   log-bin
   server-id=1 
   log-basename=master1
   binlog-format=mixed
   ```

   Untuk informasi selengkapnya, lihat Meng [ atur Konfigurasi Sumber Replikasi ](https://mariadb.com/docs/server/ha-and-performance/standard-replication/setting-up-replication) dalam dokumentasi MariaDB.

1. Untuk replikasi dengan cluster Multi-AZ DB, aktifkan`gtid_strict_mode`. Untuk informasi selengkapnya, lihat [ gtid\_strict\_mode dalam dokumentasi MariaDB](https://mariadb.com/docs/server/ha-and-performance/standard-replication/gtid#gtid_strict_mode).

   Peng `gtid_strict_mode` aktifan tidak diperlukan untuk replikasi dengan instans DB.

1. Mulai ulang layanan `mariadb`.

   ```
   sudo service mariadb restart
   ```

### Membuat salinan cadangan basis data yang sudah ada
<a name="mariadb-importing-data-reduced-downtime-create-backup"></a>

1. Buat cadangan data Anda menggunakan `mariadb-dump` utilitas `mysqldump` atau, tentukan format SQL atau teks terbatas.

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

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

   Gunakan`chmod`, jika perlu, untuk memastikan bahwa direktori tempat file cadangan dibuat dapat ditulis.
**penting**  
Pada Windows, jalankan jendela perintah sebagai administrator.
   + Untuk membuat output SQL, gunakan perintah berikut. Untuk versi MariaDB 10.11 dan yang lebih rendah, ganti dengan. `mariadb-dump` `mysqldump`

     Untuk Linux, macOS, atau Unix:

     ```
     sudo mariadb-dump \
         --databases {{database_name}} \
         --master-data=2  \
         --single-transaction \
         --order-by-primary \
         -r backup.sql \
         -u {{local_user}} \
         -p{{password}}
     ```
**catatan**  
Sebagai praktik terbaik keamanan, tentukan kredenSIAL selain petunjuk yang ditunjukkan dalam contoh.

     Untuk Windows:

     ```
     mariadb-dump ^
         --databases {{database_name}} ^
         --master-data=2  ^
         --single-transaction ^
         --order-by-primary ^
         -r backup.sql ^
         -u {{local_user}} ^
         -p{{password}}
     ```
**catatan**  
Sebagai praktik terbaik keamanan, tentukan kredenSIAL selain petunjuk yang ditunjukkan dalam contoh.
   + Untuk membuat output delimited-text, gunakan perintah berikut. Untuk MariaDB 11.01 dan versi yang lebih tinggi, ganti dengan. `mysqldump` `mariadb-dump`

     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 \
         -p{{password}}
     ```

     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 ^
         -p{{password}}
     ```
**catatan**  
Sebagai praktik terbaik keamanan, tentukan kredenSIAL selain petunjuk yang ditunjukkan dalam contoh.  
Pastikan Anda membuat prosedur, pemicu, fungsi, atau peristiwa tersimpan apa pun secara manual di dalam basis data Amazon RDS Anda. Jika Anda memiliki salah satu dari objek ini dalam database yang Anda salin, maka kecualikan mereka saat Anda menjalankan `mysqldump` atau`mariadb-dump`. Untuk melakukannya, sertakan argumen berikut dengan `mariadb-dump` perintah `mysqldump` atau Anda:   
`--routines=0`
`--triggers=0`
`--events=0`

     Saat Anda menjalankan `mysqldump` dan menentukan format teks terbatas, `CHANGE MASTER TO` komentar dikembalikan. Komentar ini berisi nama dan posisi file log master. Jika instance eksternal adalah MariaDB 10.0.23 atau versi yang lebih rendah, perhatikan nilai untuk dan. `MASTER_LOG_FILE` `MASTER_LOG_POS` Anda memerlukan nilai-nilai ini saat menyiapkan replikasi.

     Output berikut dikembalikan untuk versi MariaDB.

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

1. Jika instance eksternal yang Anda gunakan adalah MariaDB versi 10.0.24 atau lebih tinggi, gunakan replikasi. GTID-based J `SHOW MASTER STATUS` alankan pada instance MariaDB eksternal untuk mendapatkan nama dan posisi file log biner, dan kemudian mengubahnya menjadi GTID dengan menjalankan `BINLOG_GTID_POS` pada instance MariaDB eksternal.

   ```
   SELECT BINLOG_GTID_POS('{{binary_log_file_name}}', {{binary_log_file_position}});
   ```

   Perhatikan bahwa GTID dikembalikan. Anda memerlukan GTID untuk mengkonfigurasi replikasi.

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 instance Amazon EC2 dan salin database terkompresi
<a name="mariadb-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 berada di Amazon EC2, Anda dapat menyalinnya dari sana langsung ke database MariaDB 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 menyalin cadangan database ke instans Amazon EC2.

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


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

1. Di Wilayah AWS tempat Anda berencana untuk membuat database Amazon RDS, buat cloud pribadi virtual (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, `203.0.113.0/24` —atau grup keamanan VPC lainnya. Anda dapat menggunakan konsol [ Amazon VPC ](https://console.aws.amazon.com/vpc) untuk membuat dan mengelola VPC, subnet, dan grup keamanan. Untuk informasi selengkapnya, lihat Mem [ ulai dengan 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 Wilayah AWS untuk berisi 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 Mem [ ulai dengan Amazon EC2 ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html) di Panduan Pengguna * Amazon 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 ](https://docs.aws.amazon.com/vpc/latest/userguide/security-group-rules.html) di Panduan Pengguna * 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 contoh `scp` perintah:

   ```
   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 terbaru dan alat klien MariaDB menggunakan perintah berikut:

   ```
   sudo yum update -y
   sudo yum install mariadb1011-client-utils -y
   ```

   Untuk informasi selengkapnya, lihat Mengh [ ubungkan ke instans Anda ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html#ec2-connect-to-instance-linux) untuk instans Linux di Panduan Pengguna * Amazon Elastic Compute Cloud * dan Konektor [ MariaDB ](https://mariadb.com/docs/connectors) dalam dokumentasi MariaDB. 

1. Saat terhubung ke instans Amazon EC2, dekompresi file cadangan basis data Anda. Perintah berikut adalah contoh.
   + 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: Buat database MariaDB dan impor data dari instans Amazon EC2 Anda
<a name="mariadb-importing-data-reduced-downtime-create-database-import-data"></a>

Dengan membuat instance RDS untuk MariaDB DB yang 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 MariaDB.

![Alur kerja yang menunjukkan mengimpor cadangan dari instance EC2 ke database MariaDB.](https://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/MigrateMariaDBToRDS_4.png)


### Untuk membuat database MariaDB dan mengimpor data Anda
<a name="mariadb-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 MariaDB sumber. Untuk informasi selengkapnya, lihat [Kelas instans DB](Concepts.DBInstanceClass.md).

1. Buat instance DB Wilayah AWS yang berisi instans Amazon EC2 Anda. Ikuti petunjuk di dalam [Membuat instans DB Amazon RDS](USER_CreateDBInstance.md) dan gunakan pedoman berikut:
   + Tentukan versi mesin DB yang kompatibel dengan instance 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. Ketika impor selesai, Anda dapat mengonfigurasi Multi-AZ dan mencadangkan retensi untuk instance 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[Kelompok parameter untuk Amazon 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 instance 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 titik akhir dalam detail database di konsol Amazon RDS.

1. Hubungkan ke instans Amazon EC2 Anda. Untuk informasi selengkapnya, lihat [ Menghubungkan ke instans Anda ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html#ec2-connect-to-instance-linux) untuk instans 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
   ```

   Ini {{host\_name}} adalah titik akhir database Amazon RDS.

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

     ```
     MariaDB [(none)]> source backup.sql;
     ```
   + Untuk format teks terbatas, pertama buat database, jika itu bukan database default yang Anda buat saat menyiapkan database Amazon RDS. 

     ```
     MariaDB [(none)]> create database {{database_name}};
     MariaDB [(none)]> use {{database_name}};
     ```

     Lalu buat tabel.

     ```
     MariaDB [(none)]> source {{table1}}.sql
     MariaDB [(none)]> source {{table2}}.sql
     etc...
     ```

     Lalu impor data.

     ```
     MariaDB [(none)]> LOAD DATA LOCAL INFILE 'table1.txt' INTO TABLE table1 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '0x0d0a';
     MariaDB [(none)]> 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 dengan `mysqldump` atau `mariadb-dump` ketika Anda awalnya 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 AWS sumber daya Anda. Untuk mengakhiri instans EC2, lihat Meng [ akhiri instance ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#terminating-instances-console) di Panduan Pengguna * Amazon Elastic Compute Cloud. *

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

Basis data sumber Anda kemungkinan diperbarui selama waktu yang diperlukan untuk menyalin dan mentransfer data ke database MariaDB. Anda dapat menggunakan replikasi untuk memperbarui database yang disalin dengan basis data sumber.

![Alur kerja yang menunjukkan replikasi data dari database MariaDB eksternal ke database di Amazon RDS.](https://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/MigrateMariaDBToRDS_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: 
+ [mysql.rds\_set\_external\_master](mysql-stored-proc-replicating.md#mysql_rds_set_external_master) 
+ [mysql.rds\_set\_external\_master\_gtid](mysql_rds_set_external_master_gtid.md)untuk mengkonfigurasi replikasi dan [mysql.rds\_start\_replication](mysql-stored-proc-replicating.md#mysql_rds_start_replication) memulai replikasi

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

Di Tugas 1, [ saat Anda menetapkan opsi replikasi](#mariadb-importing-data-reduced-downtime-set-replication-options), Anda mengaktifkan logging biner dan menetapkan ID server unik untuk database sumber Anda. Sekarang, Anda dapat mengatur database Amazon RDS Anda sebagai replika dengan database langsung Anda sebagai instance 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}}
   ```

   Ini {{host\_name}} adalah nama DNS dari titik akhir database Amazon RDS, misalnya`myinstance.123456789012.us-east-1.rds.amazonaws.com`. Anda dapat menemukan nilai titik akhir di 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. Jika Anda menggunakan format SQL untuk membuat file cadangan dan instance eksternal bukan MariaDB 10.0.24 atau lebih tinggi, lihat isi file tersebut dengan menjalankan perintah berikut:

   ```
   cat backup.sql
   ```

   File tersebut mencakup sebuah komentar `CHANGE MASTER TO` yang berisi nama dan posisi file log master. Komentar ini disertakan dalam file cadangan saat Anda menggunakan opsi `--master-data` dengan `mysqldump`. Perhatikan nilai untuk `MASTER_LOG_FILE` dan `MASTER_LOG_POS`.

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

   Jika Anda menggunakan format teks dibatasi untuk membuat file cadangan dan instance eksternal bukan MariaDB 10.0.24 atau lebih tinggi, Anda seharusnya sudah memiliki koordinat log biner dari Langkah 1 di Tugas 1 [ saat Anda membuat salinan cadangan dari database yang ada. ](#mariadb-importing-data-reduced-downtime-create-backup)

   Jika instance eksternal adalah MariaDB 10.0.24 atau lebih tinggi, Anda seharusnya sudah memiliki GTID untuk memulai replikasi dari Langkah 2 di Tugas 1 [ saat Anda membuat salinan cadangan dari database yang ada. ](#mariadb-importing-data-reduced-downtime-create-backup)

1. Jadikan basis data Amazon RDS sebagai replika. Jika instance eksternal bukan MariaDB 10.0.24 atau lebih tinggi, sambungkan ke database Amazon RDS sebagai pengguna utama dan identifikasi database sumber sebagai instance replikasi sumber dengan menggunakan prosedur tersimpan. [mysql.rds\_set\_external\_master](mysql-stored-proc-replicating.md#mysql_rds_set_external_master)

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

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

   Jika instance eksternal adalah MariaDB 10.0.24 atau lebih tinggi, sambungkan ke database Amazon RDS sebagai pengguna utama dan identifikasi database sumber sebagai instance replikasi sumber dengan menggunakan prosedur tersimpan. [mysql.rds\_set\_external\_master\_gtid](mysql_rds_set_external_master_gtid.md) Gunakan GTID yang Anda tentukan pada Langkah 2 di Tugas 1 [ saat Anda membuat salinan cadangan dari database ](#mariadb-importing-data-reduced-downtime-create-backup) yang ada. Perintah berikut adalah contoh:

   ```
   CALL mysql.rds_set_external_master_gtid ('{{source_server_ip_address}}', 3306, 'ReplicationUser', '{{password}}', '{{GTID}}', 1); 
   ```

   `{{source_server_ip_address}}` adalah alamat IP instans replikasi sumber. Alamat DNS pribadi EC2 saat ini tidak didukung.
**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 ter [mysql.rds\_start\_replication](mysql-stored-proc-replicating.md#mysql_rds_start_replication) simpan:

   ```
   CALL mysql.rds_start_replication;
   ```

1. Pada database Amazon RDS, untuk menentukan kapan replika diperbarui dengan instance replikasi sumber, jalankan [ perintah ](https://mariadb.com/docs/server/reference/sql-statements/administrative-sql-statements/show/show-replica-status) SHOW REPLICA STATUS. Hasil perintah `SHOW REPLICA STATUS` mencakup bidang `Seconds_Behind_Master`. Saat bidang `Seconds_Behind_Master` menampilkan 0, maka replika tersebut sudah diperbarui dengan instans replikasi sumber.

   Untuk MariaDB 10.5 atau instance DB yang lebih tinggi, gunakan prosedur tersimpan [mysql.rds\_replica\_status](mysql_rds_replica_status.md) alih-alih menjalankan perintah SQL.

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

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

Setelah database MariaDB 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.](https://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/MigrateMariaDBToRDS_6.png)


### Untuk mengarahkan aplikasi langsung Anda ke database MariaDB Anda dan menghentikan replikasi
<a name="mariadb-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. Pastikan bahwa bidang `Seconds_Behind_Master` dalam hasil perintah [SHOW REPLICA STATUS](https://mariadb.com/docs/server/reference/sql-statements/administrative-sql-statements/show/show-replica-status) adalah 0, yang mengindikasikan bahwa replika diperbarui dengan instans replikasi sumber.

   ```
   SHOW REPLICA STATUS;
   ```

   Untuk MariaDB 10.5 atau instance DB yang lebih tinggi, gunakan [mysql.rds\_replica\_status](mysql_rds_replica_status.md) prosedur alih-alih menjalankan perintah SQL.

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.

1. Hentikan replikasi untuk instans Amazon RDS dengan menjalankan perintah berikut yang menggunakan prosedur ter [mysql.rds\_stop\_replication](mysql-stored-proc-replicating.md#mysql_rds_stop_replication) simpan:

   ```
   CALL mysql.rds_stop_replication;
   ```

1. Setel ulang konfigurasi replikasi sehingga instance ini tidak lagi diidentifikasi sebagai replika dengan menjalankan perintah berikut yang menggunakan prosedur ter [mysql.rds\_reset\_external\_master](mysql-stored-proc-replicating.md#mysql_rds_reset_external_master) simpan di database Amazon RDS Anda:

   ```
   CALL mysql.rds_reset_external_master;
   ```

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