Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Anda dapat memigrasikan data ke database SQL yang kompatibel dengan Saya menggunakan AWS DMS, dari salah satu mesin data sumber yang AWS DMS mendukung. Jika Anda bermigrasi ke database yang SQL kompatibel dengan Saya lokal, maka AWS DMS mesin sumber Anda harus berada di dalam ekosistem. AWS Mesin dapat menggunakan layanan yang AWS dikelola seperti AmazonRDS, Amazon Aurora, atau Amazon S3. Atau mesinnya bisa berada di database yang dikelola sendiri di AmazonEC2.
Anda dapat menggunakan SSL untuk mengenkripsi koneksi antara titik akhir My SQL -compatible dan instance replikasi. Untuk informasi selengkapnya tentang penggunaan SSL dengan titik akhir SQL yang kompatibel dengan Saya, lihat. Menggunakan SSL dengan AWS Database Migration Service
Untuk informasi tentang versi My SQL yang AWS DMS mendukung sebagai target, lihatTarget untuk AWS DMS.
Anda dapat menggunakan database My SQL -compatible berikut sebagai target untuk: AWS DMS
-
Edisi SQL Komunitas Saya
-
Edisi SQL Standar Saya
-
Edisi SQL Perusahaan Saya
-
Edisi Kelas Operator SQL Cluster Saya
-
MariaDB Community Edition
-
MariaDB Enterprise Edition
-
MariaDB Column Store
-
Amazon Aurora Saya SQL
catatan
Terlepas dari mesin penyimpanan sumber (SayaISAM,MEMORY, dan sebagainya), AWS DMS membuat tabel target yang SQL kompatibel dengan Saya sebagai tabel InnoDB secara default.
Jika Anda memerlukan tabel di mesin penyimpanan selain InnoDB, Anda dapat membuat tabel secara manual pada target yang SQL kompatibel dengan Saya dan memigrasikan tabel menggunakan opsi Jangan apa-apa. Untuk informasi selengkapnya, lihat Pengaturan tugas beban penuh.
Untuk detail tambahan tentang bekerja dengan database SQL yang kompatibel dengan Saya sebagai target AWS DMS, lihat bagian berikut.
Topik
- Menggunakan database My SQL -compatible sebagai target untuk AWS Database Migration Service
- Batasan dalam menggunakan database SQL yang kompatibel dengan Saya sebagai target AWS Database Migration Service
- Pengaturan titik akhir saat menggunakan database yang SQL kompatibel dengan Saya sebagai target AWS DMS
- Tipe data target untuk My SQL
Menggunakan database My SQL -compatible sebagai target untuk AWS Database Migration Service
Sebelum Anda mulai bekerja dengan database My SQL -compatible sebagai target untuk AWS DMS, pastikan bahwa Anda telah menyelesaikan prasyarat berikut:
-
Berikan akun pengguna AWS DMS yang memiliki hak membaca/menulis ke database yang kompatibel dengan SayaSQL. 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 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 SQL yang kompatibel dengan Saya 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 SQL khusus Saya.
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 SQL yang kompatibel dengan Saya sebagai target AWS Database Migration Service
Saat menggunakan SQL database Saya sebagai target, AWS DMS tidak mendukung hal berikut:
-
Pernyataan bahasa definisi data (DDL) TRUNCATEPARTITION, DROPTABLE, dan RENAMETABLE.
-
Menggunakan pernyataan
ALTER TABLE
untuk menambahkan kolom ke bagian depan atau tengah tabel.table_name
ADD COLUMNcolumn_name
-
Saat memuat data ke target SQL yang kompatibel dengan Saya 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. Ini disebabkan oleh cara My SQL menangani data lokal dengan
LOAD DATA
perintah. Pastikan untuk melakukan hal berikut selama fase beban penuh:Nonaktifkan kendala
Gunakan AWS DMS validasi untuk memastikan data konsisten.
-
Saat Anda memperbarui nilai kolom ke nilai yang ada, database My SQL -compatible mengembalikan 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 My SQL -compatible, buat entri di AWS DMS tabel kontrol awsdms_apply_exceptions 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 Tanpa Server tersedia sebagai target untuk Amazon Aurora versi 2, kompatibel dengan versi Saya 5.7. SQL (Pilih Aurora SQL Versi saya 2.07.1 untuk dapat menggunakan Aurora Tanpa Server dengan kompatibilitas 5.7 Saya.) SQL Untuk informasi selengkapnya tentang Aurora Tanpa Server, lihat Menggunakan Aurora Tanpa Server v2 di Panduan Pengguna Amazon Aurora.
AWS DMS tidak mendukung penggunaan titik akhir pembaca untuk Aurora atau RDS Amazon, kecuali instans dalam mode yang dapat ditulis, yaitu parameter
innodb_read_only
dan disetelread_only
ke atau.0
OFF
Untuk informasi selengkapnya tentang menggunakan Amazon RDS dan Aurora sebagai target, lihat berikut ini:
Pengaturan titik akhir saat menggunakan database yang SQL kompatibel dengan Saya sebagai target AWS DMS
Anda dapat menggunakan pengaturan titik akhir untuk mengonfigurasi basis data target SQL yang kompatibel dengan Saya yang 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, dengan --my-sql-settings '{"
JSON sintaks.EndpointSetting"
:
"value"
, ...
}'
Tabel berikut menunjukkan pengaturan endpoint yang dapat Anda gunakan dengan My SQL sebagai target.
Nama | Deskripsi |
---|---|
|
Tentukan tujuan untuk migrasi tabel sumber pada target, baik untuk basis data tunggal atau beberapa basis data. Jika Anda menentukan Nilai default: Nilai valid: { Contoh: |
|
Meningkatkan kinerja saat memuat data ke database target SQL yang kompatibel dengan Saya. Menentukan berapa banyak thread yang akan digunakan untuk memuat data ke database target My SQL -compatible. Menetapkan sejumlah besar thread dapat memiliki efek yang berlawanan pada performa basis data, karena koneksi terpisah diperlukan untuk setiap utas. Nilai default: 1 Nilai valid: 1-5 Contoh: |
|
Menentukan script untuk menjalankan segera setelah AWS DMS terhubung ke titik akhir. Misalnya, Anda dapat menentukan bahwa target My SQL -compatible harus menerjemahkan pernyataan yang diterima ke dalam set karakter latin1, yang merupakan kumpulan karakter default yang dikompilasi dari database. Parameter ini biasanya meningkatkan kinerja saat mengonversi dari UTF8 klien. Contoh: |
|
Menentukan ukuran maksimum (dalam KB) dari setiap file.csv yang digunakan untuk mentransfer data ke database My SQL -kompatibel. Nilai default: 32.768 KB (32 MB) Nilai valid: 1-1.048.576
|
Anda juga dapat menggunakan atribut koneksi tambahan untuk mengonfigurasi basis data target SQL yang kompatibel dengan Saya.
Tabel berikut menunjukkan atribut koneksi tambahan yang dapat Anda gunakan dengan My SQL sebagai target.
Nama | Penjelasan |
---|---|
|
Menonaktifkan memeriksa kunci asing. Contoh: |
|
Menentukan zona waktu untuk target My SQL -compatible database. Nilai default: UTC Nilai yang valid: Nama zona waktu yang tersedia di target SQL Database saya. Contoh: |
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 My SQL
Tabel berikut menunjukkan tipe data target SQL database saya yang didukung saat menggunakan AWS DMS dan pemetaan default dari tipe AWS DMS data.
Untuk informasi tambahan tentang tipe AWS DMS data, lihatTipe data untuk AWS Database Migration Service.
AWS DMS tipe data |
Tipe SQL data saya |
---|---|
BOOLEAN |
BOOLEAN |
BYTES |
Jika panjangnya dari 1 hingga 65.535, maka gunakan VARBINARY (panjang). Jika panjangnya dari 65.536 hingga 2.147.483.647, maka gunakan. LONGLOB |
DATE |
DATE |
TIME |
TIME |
TIMESTAMP |
“Jika skala => 0 dan =< 6, maka: DATETIME (Skala) Jika skala => 7 dan =< 9, maka: VARCHAR (37)” |
INT1 |
TINYINT |
INT2 |
SMALLINT |
INT4 |
INTEGER |
INT8 |
BIGINT |
NUMERIC |
DECIMAL(p, s) |
REAL4 |
FLOAT |
REAL8 |
DOUBLE PRECISION |
STRING |
Jika panjangnya dari 1 hingga 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 hingga 32.767, maka gunakan VARCHAR (panjang). Jika panjangnya dari 32.768 hingga 2.147.483.647, maka gunakan. LONGTEXT |
BLOB |
Jika panjangnya dari 1 hingga 65.535, maka gunakan. BLOB Jika panjangnya dari 65.536 hingga 2.147.483.647, maka gunakan. LONGBLOB Jika panjangnya 0, maka gunakan LONGBLOB (LOBdukungan penuh). |
NCLOB |
Jika panjangnya dari 1 hingga 65.535, maka gunakan. TEXT Jika panjangnya dari 65.536 hingga 2.147.483.647, maka gunakan dengan ucs2 untuk. LONGTEXT CHARACTER SET Jika panjangnya 0, maka gunakan LONGTEXT (LOBdukungan penuh) dengan ucs2 untuk. CHARACTER SET |
CLOB |
Jika panjangnya dari 1 hingga 65.535, maka gunakan. TEXT Jika panjangnya dari 65.536 hingga 2147483647, maka gunakan. LONGTEXT Jika panjangnya 0, maka gunakan LONGTEXT (LOBdukungan penuh). |