

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

# Menggunakan database yang kompatibel dengan MySQL sebagai target untuk AWS Database Migration Service
<a name="CHAP_Target.MySQL"></a>

Anda dapat memigrasikan data ke database yang kompatibel dengan MySQL menggunakan AWS DMS, dari salah satu mesin data sumber yang mendukung. AWS DMS Jika Anda bermigrasi ke database yang kompatibel dengan MySQL lokal, maka mesin sumber Anda AWS DMS harus berada di dalam ekosistem. AWS Mesin dapat menggunakan layanan yang AWS dikelola seperti Amazon RDS, Amazon Aurora, atau Amazon S3. Atau mesin bisa berada di basis data terkelola mandiri di Amazon EC2. 

Anda dapat menggunakan SSL untuk mengenkripsi koneksi antara titik akhir yang kompatibel dengan MySQL dan instans replikasi. Untuk informasi lebih lanjut tentang penggunaan SSL dengan titik akhir yang kompatibel dengan MySQL, lihat [Menggunakan SSL dengan AWS Database Migration Service](CHAP_Security.SSL.md). 

Untuk informasi tentang versi MySQL AWS DMS yang mendukung sebagai target, lihat. [Target untuk AWS DMS](CHAP_Introduction.Targets.md)

Anda dapat menggunakan database yang kompatibel dengan MySQL berikut sebagai target untuk: AWS DMS
+ MySQL Community Edition
+ MySQL Standard Edition
+ MySQL Enterprise Edition
+ MySQL Cluster Carrier Grade Edition
+ MariaDB Community Edition
+ MariaDB Enterprise Edition
+ MariaDB Column Store
+ Amazon Aurora MySQL

**catatan**  
Terlepas dari mesin penyimpanan sumber yang digunakan (myISAM, MEMORY, dan sebagainya), AWS DMS menciptakan tabel target yang kompatibel dengan MySQL sebagai tabel InnoDB secara default.   
Jika Anda membutuhkan tabel di mesin penyimpanan selain InnoDB, Anda dapat membuatnya secara manual pada target yang kompatibel dengan MySQL dan memigrasi tabel dengan memilih **Tidak melakukan apapun**. Untuk informasi lebih lanjut, lihat [Pengaturan tugas beban penuh](CHAP_Tasks.CustomizingTasks.TaskSettings.FullLoad.md).

Untuk detail tambahan tentang bekerja dengan basis data yang kompatibel dengan MySQL sebagai target AWS DMS, lihat bagian berikut. 

**Topics**
+ [Menggunakan database yang kompatibel dengan MySQL sebagai target untuk AWS Database Migration Service](#CHAP_Target.MySQL.Prerequisites)
+ [Batasan dalam menggunakan database yang kompatibel dengan MySQL sebagai target AWS Database Migration Service](#CHAP_Target.MySQL.Limitations)
+ [Pengaturan titik akhir saat menggunakan database yang kompatibel dengan MySQL sebagai target AWS DMS](#CHAP_Target.MySQL.ConnectionAttrib)
+ [Tipe data target untuk MySQL](#CHAP_Target.MySQL.DataTypes)

## Menggunakan database yang kompatibel dengan MySQL sebagai target untuk AWS Database Migration Service
<a name="CHAP_Target.MySQL.Prerequisites"></a>

Sebelum Anda mulai bekerja dengan basis data yang kompatibel dengan MySQL sebagai target untuk AWS DMS, pastikan bahwa Anda telah memenuhi prasyarat berikut:
+ Berikan akun pengguna yang memiliki read/write hak istimewa ke database AWS DMS yang kompatibel dengan MySQL. Untuk membuat hak yang diperlukan, jalankan perintah berikut.

  ```
  CREATE USER '<user acct>'@'%' IDENTIFIED BY '<user password>';
  GRANT ALTER, CREATE, DROP, INDEX, INSERT, UPDATE, DELETE, SELECT, CREATE TEMPORARY TABLES  ON <schema>.* TO 
  '<user acct>'@'%';
  GRANT ALL PRIVILEGES ON awsdms_control.* TO '<user acct>'@'%';
  ```
+ Selama fase migrasi beban penuh, Anda harus nonaktifkan kunci asing pada tabel target Anda. Untuk menonaktifkan pemeriksaan kunci asing pada database yang kompatibel dengan MySQL selama pemuatan penuh, Anda dapat menambahkan perintah berikut ke bagian **Atribut koneksi tambahan** AWS DMS konsol untuk titik akhir target Anda.

  ```
  Initstmt=SET FOREIGN_KEY_CHECKS=0;
  ```
+ Tetapkan parameter basis data `local_infile = 1` untuk mengaktifkan AWS DMS agar memuat data ke basis data target.
+ Berikan hak istimewa berikut jika Anda menggunakan penilaian premi khusus MySQL.

  ```
  grant select on mysql.user to <dms_user>;
  grant select on mysql.db to <dms_user>;
  grant select on mysql.tables_priv to <dms_user>;
  grant select on mysql.role_edges to <dms_user>  #only for MySQL version 8.0.11 and higher
  ```

## Batasan dalam menggunakan database yang kompatibel dengan MySQL sebagai target AWS Database Migration Service
<a name="CHAP_Target.MySQL.Limitations"></a>

Saat menggunakan database MySQL sebagai target AWS DMS , tidak mendukung hal berikut:
+ Beberapa pernyataan bahasa definisi data (DDL): TRUNCATE PARTITION, DROP TABLE, dan RENAME TABLE.
+ Menggunakan pernyataan `ALTER TABLE table_name ADD COLUMN column_name` untuk menambahkan kolom ke bagian depan atau tengah tabel.
+ Saat memuat data ke target yang kompatibel dengan MySQL dalam tugas pemuatan penuh, AWS DMS tidak melaporkan kesalahan yang disebabkan oleh kendala dalam log tugas, yang dapat menyebabkan kesalahan kunci duplikat atau ketidakcocokan dengan jumlah catatan. Hal ini disebabkan oleh cara MySQL menangani data lokal dengan perintah. `LOAD DATA` Pastikan untuk melakukan hal berikut selama fase beban penuh: 
  + Nonaktifkan kendala
  + Gunakan AWS DMS validasi untuk memastikan data konsisten.
+ Ketika Anda memperbarui nilai kolom ke nilai yang ada, basis data yang kompatibel dengan MySQL akan menampilkan Peringatan `0 rows affected`. Meskipun secara teknis perilaku ini bukan merupakan kesalahan, penanganan situasi ini berbeda dibandingkan mesin basis data lain. Misalnya Oracle melakukan update dari satu baris. Untuk database yang kompatibel dengan MySQL, buat entri di AWS DMS tabel kontrol awsdms\$1apply\$1exceptions dan mencatat peringatan berikut.

  ```
  Some changes from the source database had no impact when applied to
  the target database. See awsdms_apply_exceptions table for details.
  ```
+ Aurora Nirserver tersedia sebagai target untuk Amazon Aurora versi 2, kompatibel dengan MySQL versi 5.7. (Pilih Aurora MySQL versi 2.07.1 untuk dapat menggunakan Aurora Nirserver dengan kompatibilitas terhadap MySQL 5.7.) *Untuk informasi selengkapnya tentang Aurora Tanpa Server, lihat Menggunakan [Aurora Tanpa Server v2 di Panduan Pengguna Amazon Aurora](https://docs.aws.amazon.com//AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.html).*
+ AWS DMS tidak mendukung penggunaan titik akhir pembaca untuk Aurora atau Amazon RDS, kecuali instans dalam mode yang dapat ditulis, yaitu parameter `innodb_read_only` dan disetel `read_only` ke atau. `0` `OFF` Untuk informasi selengkapnya tentang penggunaan Amazon RDS dan Aurora sebagai target, lihat berikut ini:
  +  [Menentukan instans DB mana yang terhubung dengan Anda](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.BestPractices.html#AuroraMySQL.BestPractices.DeterminePrimaryInstanceConnection) 
  +  [Memperbarui replika baca dengan MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_MySQL.Replication.ReadReplicas.html#USER_MySQL.Replication.ReadReplicas.Updates) 
+ Saat mereplikasi tipe data TIME, bagian pecahan dari nilai waktu tidak direplikasi.
+ Saat mereplikasi tipe data TIME dengan Atribut Koneksi Ekstra`loadUsingCSV=false`, nilai waktu dibatasi ke rentang. `[00:00:00, 23:59:59]`

## Pengaturan titik akhir saat menggunakan database yang kompatibel dengan MySQL sebagai target AWS DMS
<a name="CHAP_Target.MySQL.ConnectionAttrib"></a>

Anda dapat menggunakan pengaturan titik akhir untuk mengonfigurasi basis data target yang kompatibel dengan MySQL mirip dengan menggunakan atribut koneksi tambahan. Anda menentukan pengaturan saat Anda membuat titik akhir target menggunakan AWS DMS konsol, atau dengan menggunakan `create-endpoint` perintah di [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/dms/index.html), dengan sintaks `--my-sql-settings '{"EndpointSetting": "value", ...}'` JSON.

Tabel berikut menunjukkan pengaturan endpoint yang dapat Anda gunakan dengan MySQL sebagai target.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/dms/latest/userguide/CHAP_Target.MySQL.html)

Anda juga dapat menggunakan atribut koneksi tambahan untuk mengonfigurasi basis data target yang kompatibel dengan MySQL Anda.

Tabel berikut menunjukkan atribut koneksi tambahan yang dapat Anda gunakan dengan MySQL sebagai target.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/dms/latest/userguide/CHAP_Target.MySQL.html)

Atau, Anda dapat menggunakan `AfterConnectScript` parameter `--my-sql-settings` perintah untuk menonaktifkan pemeriksaan kunci asing dan menentukan zona waktu untuk database Anda.

## Tipe data target untuk MySQL
<a name="CHAP_Target.MySQL.DataTypes"></a>

Tabel berikut menunjukkan tipe data target database MySQL yang didukung saat AWS DMS menggunakan dan pemetaan AWS DMS default dari tipe data.

Untuk informasi tambahan tentang tipe AWS DMS data, lihat[Tipe data untuk AWS Database Migration Service](CHAP_Reference.DataTypes.md).


|  AWS DMS tipe data  |  Tipe data MySQL  | 
| --- | --- | 
|  BOOLEAN  |  BOOLEAN  | 
|  BYTES  |  Jika panjangnya dari 1 sampai 65.535, maka gunakan VARBINARY (length).  Jika panjangnya dari 65.536 hingga 2.147.483.647 maka gunakan LONGLOB.  | 
|  DATE  |  DATE  | 
|  TIME  |  TIME  | 
|  TIMESTAMP  |  “If scale => 0 and =< 6, then: DATETIME (Scale) If scale is => 7 and =< 9, then: VARCHAR (37)"  | 
|  INT1  |  TINYINT  | 
|  INT2  |  SMALLINT  | 
|  INT4  |  INTEGER  | 
|  INT8  |  BIGINT  | 
|  NUMERIC  |  DECIMAL (p,s)  | 
|  REAL4  |  FLOAT  | 
|  REAL8  |  DOUBLE PRECISION  | 
|  STRING  |  Jika panjangnya dari 1 sampai 21.845 maka gunakan VARCHAR (panjang). Jika panjangnya dari 21.846 hingga 2.147.483.647 maka gunakan LONGTEXT.  | 
|  UINT1  |  UNSIGNED TINYINT  | 
|  UINT2  |  UNSIGNED SMALLINT  | 
|  UINT4  |  UNSIGNED INTEGER  | 
|  UINT8  |  UNSIGNED BIGINT  | 
|  WSTRING  |  Jika panjangnya dari 1 sampai 32.767 maka gunakan VARCHAR (panjang).  Jika panjangnya dari 32.768 hingga 2.147.483.647 maka gunakan LONGTEXT.  | 
|  BLOB  |  Jika panjangnya dari 1 sampai 65.535 maka gunakan BLOB. Jika panjangnya dari 65.536 hingga 2.147.483.647 maka gunakan LONGBLOB. Jika panjangnya 0, gunakan LONGBLOB (support LOB penuh).  | 
|  NCLOB  |  Jika panjangnya dari 1 sampai 65.535, gunakan TEXT. Jika panjangnya dari 65.536 hingga 2.147.483.647, gunakan LONGTEXT dengan ucs2 untuk CHARACTER SET. Jika panjangnya 0, gunakan LONGTEXT (support LOB penuh) dengan ucs2 untuk CHARACTER SET.  | 
|  CLOB  |  Jika panjangnya dari 1 sampai 65.535, gunakan TEXT. Jika panjangnya dari 65.536 hingga 2.147.483.647, gunakan LONGTEXT. Jika panjangnya 0, gunakan LONGTEXT (supportLOB penuh).  | 