Apakah aws kompatibel dengan mysql?

Anda dapat memigrasikan data dari database apa pun yang kompatibel dengan MySQL (MySQL, MariaDB, atau Amazon Aurora MySQL) menggunakan AWS Database Migration Service. MySQL versi 5. 5, 5. 6, 5. 7, dan 8. 0. MariaDB versi 10. 0. 24 sampai 10. 0. 28, 10. 1, 10. 2, 10. 3, 10. 4, dan 10. 5, dan juga Amazon Aurora MySQL, didukung untuk lokal

Dukungan untuk MySQL 8. 0 sebagai sumber tersedia di AWS DMS versi 3. 4. 0 dan yang lebih baru, kecuali saat payload transaksi dikompresi. AWS DMS saat ini tidak mendukung replikasi CDC menggunakan MySQL 8. 0 sebagai sumber saat enkripsi log biner diaktifkan

Anda dapat menggunakan SSL untuk mengenkripsi koneksi antara titik akhir yang kompatibel dengan MySQL dan instans replikasi. Untuk informasi selengkapnya tentang menggunakan SSL dengan titik akhir yang kompatibel dengan MySQL, lihat

Di bagian berikut, istilah "dikelola sendiri" berlaku untuk database apa pun yang diinstal di tempat atau di Amazon EC2. Istilah "dikelola oleh AWS" berlaku untuk semua database di Amazon RDS, Amazon Aurora, atau Amazon S3

Untuk detail tambahan tentang bekerja dengan database yang kompatibel dengan MySQL dan AWS DMS, lihat bagian berikut

Bermigrasi dari MySQL ke MySQL menggunakan AWS DMS

Untuk migrasi heterogen, di mana Anda bermigrasi dari mesin database selain MySQL ke database MySQL, AWS DMS hampir selalu merupakan alat migrasi terbaik untuk digunakan. Tapi untuk migrasi homogen, di mana Anda bermigrasi dari database MySQL ke database MySQL, alat asli bisa lebih efektif

Kami menyarankan Anda menggunakan alat migrasi basis data MySQL asli seperti mysqldump dalam kondisi berikut

  • Anda memiliki migrasi homogen, di mana Anda bermigrasi dari sumber database MySQL ke database MySQL target

  • Anda memigrasi seluruh database

  • Alat asli memungkinkan Anda memigrasikan data dengan waktu henti minimal

Anda dapat mengimpor data dari database MySQL atau MariaDB yang ada ke instans Amazon RDS MySQL atau DB MariaDB. Anda melakukannya dengan menyalin database dengan mysqldumpan dan menyalurkannya langsung ke instans Amazon RDS MySQL atau MariaDB DB. Utilitas baris perintah mysqldump biasanya digunakan untuk membuat cadangan dan mentransfer data dari satu server MySQL atau MariaDB ke server lain. Itu disertakan dengan perangkat lunak klien MySQL dan MariaDB

Untuk informasi selengkapnya tentang mengimpor database MySQL ke Amazon RDS for MySQL atau Amazon Aurora Edisi yang Kompatibel dengan MySQL, lihat Mengimpor data ke dalam instans MySQL DB dan Mengimpor data dari MySQL atau MariaDB DB ke instans Amazon RDS MySQL atau MariaDB DB

Menggunakan AWS DMS untuk memigrasikan data dari MySQL ke MySQL

AWS DMS dapat memigrasikan data dari, misalnya, database MySQL sumber yang ada di lokasi ke instans Amazon RDS for MySQL atau Aurora MySQL target. Tipe data inti atau dasar MySQL paling sering berhasil dimigrasikan

Tipe data yang didukung di database sumber tetapi tidak didukung di target mungkin tidak berhasil dimigrasikan. AWS DMS mengalirkan beberapa tipe data sebagai string jika tipe data tidak diketahui. Beberapa tipe data, seperti XML, bisa berhasil dimigrasikan sebagai file kecil tapi bisa gagal jika berupa dokumen besar

Tabel berikut menunjukkan tipe data sumber MySQL dan apakah mereka dapat dimigrasikan dengan sukses

Data typeMigrates successfullyWill partially migrateWill not migrateINTXBIGINTXMEDIUMINTXTINYINTXDECIMAL(p,s)XBINARYXBIT(M)XBLOBXLONGBLOBXMEDIUMBLOBXTINYBLOBXDATEXDATETIMEXTIMEXTIMESTAMPXYEARXDOUBLEXFLOATXVARCHAR(N)XVARBINARY(N)XCHAR(N)XTEXTXLONGTEXTXMEDIUMTEXTXTINYTEXTXJSONXGEOMETRYXPOINTXLINESTRINGXPOLYGONXMULTILINESTRINGXMULTIPOLYGONXGEOMETRYCOLLECTIONXENUMXSETX

Menggunakan database apa pun yang kompatibel dengan MySQL sebagai sumber untuk AWS DMS

Sebelum Anda mulai bekerja dengan database MySQL sebagai sumber untuk AWS DMS, pastikan Anda memiliki prasyarat berikut. Prasyarat ini berlaku untuk sumber yang dikelola sendiri atau dikelola AWS

Anda harus memiliki akun untuk AWS DMS yang memiliki peran Admin Replikasi. Peran membutuhkan hak istimewa berikut

  • REPLICATION CLIENT – Hak istimewa ini diperlukan hanya untuk tugas CDC. Dengan kata lain, tugas full-load-only tidak memerlukan hak istimewa ini

  • REPLICATION SLAVE – Hak istimewa ini diperlukan hanya untuk tugas CDC. Dengan kata lain, tugas full-load-only tidak memerlukan hak istimewa ini

  • SUPER – Hak istimewa ini hanya diperlukan di versi MySQL sebelum 5. 6. 6

Pengguna AWS DMS juga harus memiliki hak istimewa SELECT untuk tabel sumber yang ditujukan untuk replikasi

Menggunakan database yang kompatibel dengan MySQL yang dikelola sendiri sebagai sumber untuk AWS DMS

Anda dapat menggunakan database yang kompatibel dengan MySQL yang dikelola sendiri berikut ini sebagai sumber untuk AWS DMS

  • Edisi Komunitas MySQL

  • Edisi Standar MySQL

  • Edisi MySQL Perusahaan

  • MySQL Cluster Carrier Grade Edition

  • Edisi Komunitas MariaDB

  • Edisi MariaDB Perusahaan

  • Toko Kolom MariaDB

Untuk menggunakan CDC, pastikan untuk mengaktifkan logging biner. Untuk mengaktifkan logging biner, parameter berikut harus dikonfigurasi dalam file my.ini (Windows) atau my.cnf (UNIX) MySQL

Parameter

Nilai

server-id

Tetapkan parameter ini ke nilai 1 atau lebih besar

log-bin_

Setel jalur ke file log biner, seperti log-bin=E:\MySql_Logs\BinLog. Jangan sertakan ekstensi file

binlog_format_

Setel parameter ini ke ROW. Kami merekomendasikan pengaturan ini selama replikasi karena dalam kasus tertentu ketika binlog_format diatur ke mysqldump1, ini dapat menyebabkan ketidakkonsistenan saat mereplikasi data ke target. Mesin basis data juga menulis data tidak konsisten serupa ke target ketika binlog_format diatur ke mysqldump3, karena mesin basis data secara otomatis beralih ke pencatatan berbasis mysqldump1 yang dapat mengakibatkan penulisan data yang tidak konsisten pada basis data target

mysqldump_5

Tetapkan parameter ini ke nilai 1 atau lebih besar. Untuk mencegah penggunaan ruang disk yang berlebihan, kami menyarankan agar Anda tidak menggunakan nilai default 0

mysqldump_6

Setel parameter ini ke mysqldump_7

mysqldump_8

Setel parameter ini ke mysqldump_9

mysqldump_0

Setel parameter ini ke mysqldump_1 jika Anda menggunakan replika baca MySQL atau MariaDB sebagai sumber

Jika sumber Anda menggunakan mesin database NDB (berkerumun), parameter berikut harus dikonfigurasi untuk mengaktifkan CDC pada tabel yang menggunakan mesin penyimpanan tersebut. Tambahkan perubahan ini di file my.ini_ (Windows) atau my.cnf (UNIX) MySQL

Parameter

Nilai

mysqldump_4

Setel parameter ini ke mysqldump_5. Nilai ini memastikan bahwa perubahan dalam tabel berkerumun dicatat ke log biner

mysqldump_6

Setel parameter ini ke mysqldump_7. Nilai ini mencegah penulisan pernyataan UPDATE sebagai pernyataan INSERT di log biner

mysqldump_8

Setel parameter ini ke mysqldump_7. Nilai ini memastikan bahwa log biner berisi seluruh baris dan bukan hanya kolom yang diubah

Menggunakan database yang kompatibel dengan MySQL yang dikelola AWS sebagai sumber untuk AWS DMS

Anda dapat menggunakan database yang kompatibel dengan MySQL yang dikelola AWS berikut ini sebagai sumber untuk AWS DMS

  • Edisi Komunitas MySQL

  • Edisi Komunitas MariaDB

  • Amazon Aurora Edisi yang Kompatibel dengan MySQL

Saat menggunakan database yang kompatibel dengan MySQL yang dikelola AWS sebagai sumber untuk AWS DMS, pastikan Anda memiliki prasyarat berikut untuk CDC

  • Untuk mengaktifkan log biner untuk RDS untuk MySQL dan untuk RDS untuk MariaDB, aktifkan pencadangan otomatis di tingkat instans. Untuk mengaktifkan log biner untuk klaster Aurora MySQL, ubah variabel binlog_format di grup parameter

    Untuk informasi selengkapnya tentang menyiapkan pencadangan otomatis, lihat Bekerja dengan pencadangan otomatis di Panduan Pengguna Amazon RDS

    Untuk informasi selengkapnya tentang menyiapkan logging biner untuk database Amazon RDS for MySQL, lihat Mengatur format logging biner di Panduan Pengguna Amazon RDS

    Untuk informasi selengkapnya tentang menyiapkan logging biner untuk klaster MySQL Aurora, lihat Bagaimana cara mengaktifkan logging biner untuk klaster Amazon Aurora MySQL saya?

  • Jika Anda berencana menggunakan CDC, aktifkan logging biner. Untuk informasi selengkapnya tentang menyiapkan logging biner untuk database Amazon RDS for MySQL, lihat Mengatur format logging biner di Panduan Pengguna Amazon RDS

  • Pastikan log biner tersedia untuk AWS DMS. Karena database yang kompatibel dengan MySQL yang dikelola AWS membersihkan log biner sesegera mungkin, Anda harus menambah jangka waktu agar log tetap tersedia. Misalnya, untuk meningkatkan retensi log hingga 24 jam, jalankan perintah berikut

    
     call mysql.rds_set_configuration('binlog retention hours', 24);
                        
  • Setel parameter binlog_format_ ke my.ini2

    Untuk MariaDB, jika parameter binlog_format dialihkan ke ROW untuk tujuan replikasi, log biner berikutnya masih dibuat dalam format mysqldump3. Ini dapat mencegah DMS melakukan pengambilan data perubahan. Jadi, saat mengganti parameter binlog_format_ untuk MariaDB, lakukan reboot atau mulai lalu hentikan tugas replikasi Anda

  • Setel parameter mysqldump_8 ke my.ini8

  • Tetapkan parameter mysqldump_6 ke my.cnf0. Untuk informasi selengkapnya tentang pengaturan parameter di Amazon RDS MySQL, lihat Bekerja dengan pencadangan otomatis di Panduan Pengguna Amazon RDS

  • Jika Anda menggunakan replika baca Amazon RDS MySQL atau Amazon RDS MariaDB sebagai sumber, aktifkan pencadangan pada replika baca, dan pastikan parameter mysqldump0 diatur ke mysqldump1

Keterbatasan dalam menggunakan database MySQL sebagai sumber untuk AWS DMS

Saat menggunakan database MySQL sebagai sumber, pertimbangkan hal berikut

  • Ubah pengambilan data (CDC) tidak didukung untuk Amazon RDS MySQL 5. 5 atau lebih rendah. Untuk Amazon RDS MySQL, Anda harus menggunakan versi 5. 6, 5. 7, atau 8. 0 untuk mengaktifkan CDC. CDC didukung untuk MySQL 5 yang dikelola sendiri. 5 sumber

  • Untuk CDC, my.cnf_3, my.cnf4, dan my.cnf5 mengubah tipe data kolom, dan my.cnf6 didukung. Namun, my.cnf7, my.cnf8, dan pembaruan yang dibuat untuk atribut lain, seperti nilai default kolom, nullability kolom, rangkaian karakter, dan sebagainya, tidak didukung

  • Untuk tabel terpartisi pada sumber, saat Anda menyetel mode persiapan tabel Target ke Drop tables on target, AWS DMS membuat tabel sederhana tanpa partisi apa pun pada target MySQL. Untuk memigrasikan tabel yang dipartisi ke tabel yang dipartisi pada target, buat tabel yang dipartisi sebelumnya pada database MySQL target

  • Menggunakan pernyataan my.cnf_9 ADD COLUMN server-id0 untuk menambahkan kolom ke awal (FIRST) atau tengah tabel (AFTER) tidak didukung. Kolom selalu ditambahkan ke akhir tabel

  • CDC tidak didukung saat nama tabel berisi karakter huruf besar dan kecil, dan mesin sumber dihosting di sistem operasi dengan nama file yang tidak peka huruf besar/kecil. Contohnya adalah Microsoft Windows atau OS X menggunakan HFS+

  • Anda dapat menggunakan Aurora MySQL-Compatible Edition Serverless untuk muatan penuh, tetapi Anda tidak dapat menggunakannya untuk CDC. Ini karena Anda tidak dapat mengaktifkan prasyarat untuk MySQL. Untuk informasi lebih lanjut, lihat

  • Atribut AUTO_INCREMENT pada kolom tidak dimigrasikan ke kolom database target

  • Menangkap perubahan saat log biner tidak disimpan di penyimpanan blok standar tidak didukung. Misalnya, CDC tidak berfungsi saat log biner disimpan di Amazon S3

  • AWS DMS membuat tabel target dengan mesin penyimpanan InnoDB secara default. Jika Anda perlu menggunakan mesin penyimpanan selain InnoDB, Anda harus membuat tabel secara manual dan bermigrasi ke sana menggunakan mode tidak melakukan apa pun

  • Anda tidak dapat menggunakan replika Aurora MySQL sebagai sumber untuk AWS DMS kecuali mode tugas migrasi DMS Anda adalah Migrasikan data yang ada—hanya beban penuh

  • Jika sumber yang kompatibel dengan MySQL dihentikan saat beban penuh, tugas AWS DMS tidak berhenti dengan kesalahan. Tugas berakhir dengan sukses, tetapi target mungkin tidak sinkron dengan sumbernya. Jika ini terjadi, mulai ulang tugas atau muat ulang tabel yang terpengaruh

  • Indeks yang dibuat pada sebagian nilai kolom tidak dimigrasikan. Misalnya, indeks CREATE INDEX first_ten_chars ON pelanggan (nama(10)) tidak dibuat pada target

  • Dalam beberapa kasus, tugas dikonfigurasi untuk tidak mereplikasi LOB ("SupportLobs" salah dalam pengaturan tugas atau Jangan sertakan kolom LOB dipilih di konsol tugas). Dalam kasus ini, AWS DMS tidak memigrasikan kolom MEDIUMBLOB, LONGBLOB, MEDIUMTEXT, dan LONGTEXT ke target

    Kolom BLOB, TINYBLOB, TEXT, dan TINYTEXT tidak terpengaruh dan dimigrasikan ke target

  • Sistem atau tabel data temporal—tabel berversi tidak didukung pada database sumber dan target MariaDB

  • Jika bermigrasi di antara dua klaster MySQL Amazon RDS Aurora, titik akhir sumber MySQL RDS Aurora harus berupa instans baca/tulis, bukan instans replika

  • AWS DMS saat ini tidak mendukung migrasi tampilan untuk MariaDB

  • AWS DMS tidak mendukung perubahan DDL untuk tabel terpartisi untuk MySQL

  • AWS DMS saat ini tidak mendukung transaksi XA

  • AWS DMS tidak mendukung GTID untuk replikasi

  • AWS DMS tidak mendukung kompresi transaksi log biner

Atribut koneksi ekstra saat menggunakan MySQL sebagai sumber untuk AWS DMS

Anda dapat menggunakan atribut koneksi ekstra untuk mengonfigurasi sumber MySQL. Anda menentukan setelan ini saat membuat titik akhir sumber. Jika Anda memiliki beberapa pengaturan atribut koneksi, pisahkan satu sama lain dengan titik koma tanpa spasi tambahan (misalnya, server-id1)

Tabel berikut menampilkan atribut koneksi tambahan yang tersedia saat menggunakan Amazon RDS MySQL sebagai sumber untuk AWS DMS

NamaKeteranganserver-id_2

Menentukan seberapa sering memeriksa log biner untuk perubahan/kejadian baru saat database menganggur

Nilai default. 5

Nilai yang valid. 1–60

Contoh. server-id_3

Dalam contoh, AWS DMS memeriksa perubahan dalam log biner setiap lima detik

server-id_4

Untuk AWS DMS versi 3. 4. 7 dan yang lebih baru, menetapkan batas waktu pernyataan klien untuk titik akhir sumber MySQL, dalam hitungan detik

Nilai default. 60

Contoh. server-id5

Untuk contoh ini, pernyataan apa pun yang dijalankan AWS DMS terhadap database sumber MySQL akan habis waktu jika memerlukan waktu lebih dari 1500 detik

server-id_6

Menentukan zona waktu untuk sumber database MySQL

Contoh. server-id_7

Jangan sertakan data zona waktu dalam tanda kutip tunggal

server-id_8

Menentukan skrip untuk dijalankan segera setelah AWS DMS terhubung ke titik akhir. Tugas migrasi terus berjalan terlepas dari apakah pernyataan SQL berhasil atau gagal

Nilai yang valid. Satu atau lebih pernyataan SQL yang valid, diawali dengan titik koma

Contoh. server-id_9

log-bin_0

Membersihkan dan membuat ulang informasi metadata tabel pada instance replikasi saat terjadi ketidakcocokan. Misalnya, dalam situasi di mana menjalankan perubahan DDL pada tabel dapat menghasilkan informasi yang berbeda tentang tabel yang di-cache dalam instance replikasi. Boolean

Nilai default. log-bin_1

Contoh. log-bin_2

Tipe data sumber untuk MySQL

Tabel berikut menampilkan tipe data sumber database MySQL yang didukung saat menggunakan AWS DMS dan pemetaan default dari tipe data AWS DMS

Untuk informasi tentang cara melihat tipe data yang dipetakan di target, lihat bagian titik akhir target yang Anda gunakan

Untuk informasi tambahan tentang tipe data AWS DMS, lihat Tipe data untuk AWS Database Migration Service

tipe data MySQL

Tipe data AWS DMS

INT

INT4

BESAR

INT8

MENENGAH

INT4

TINYINT

INT1

KECIL

INT2

TINYINT TAK TERTANDA

UINT1

KECIL TAK BERTANDA TANGAN

UINT2

MEDIUMINT TAK TERTANDA

UINT4

INT TAK TERTANDA

UINT4

BIGINT TAK BERTANDA

UINT8

desimal(10)

NUMERIK (10,0)

BINER

BYTE(1)

SEDIKIT

BOOLEAN

BIT(64)

BYTE(8)

GUMPAL

BYTE(65535)

LONGBLOB

GUMPAL

MEDIUMBLOB

GUMPAL

TINYBLOB

BYTE(255)

TANGGAL

TANGGAL

TANGGAL WAKTU

TANGGAL WAKTU

DATETIME tanpa nilai kurung direplikasi tanpa milidetik. DATETIME dengan nilai kurung 1 sampai 5 (seperti log-bin3) direplikasi dengan milidetik

Saat mereplikasi kolom DATETIME, waktu tetap sama pada target. Itu tidak dikonversi ke UTC

WAKTU

RANGKAIAN

URUTAN WAKTU

TANGGAL WAKTU

Saat mereplikasi kolom TIMESTAMP, waktu diubah menjadi UTC pada target

TAHUN

INT2

DOBEL

NYATA8

MENGAMBANG

NYATA (GANDA)

Jika nilai FLOAT tidak berada dalam rentang berikut, gunakan transformasi untuk memetakan FLOAT ke STRING. Untuk informasi selengkapnya tentang transformasi, lihat Aturan dan tindakan transformasi

Kisaran FLOAT yang didukung adalah -1. 79E+308 ke -2. 23E-308, 0, dan 2. 23E-308 ke 1. 79E+308

VARCHAR (45)

WSTRING (45)

VARCHAR (2000)

WSTRING (2000)

VARCHAR (4000)

WSTRING (4000)

VARBINER (4000)

BYTE (4000)

VARBINER (2000)

BYTE (2000)

ARANG

WSTRING

TEKS

WSTRING

LONGTEXT

NCLOB

MEDIUMTEXT

NCLOB

TINYTEXT

WSTRING(255)

GEOMETRI

GUMPAL

TITIK

GUMPAL

LINESTRING

GUMPAL

POLIGON

GUMPAL

GANDA

GUMPAL

MULTILINESTRING

GUMPAL

MULTIPOLIGON

GUMPAL

KOLEKSI GEOMETRI

GUMPAL

ENUM

WSTRING (log-bin_4)

Di sini, log-bin_4 adalah panjang dari nilai terpanjang di ENUM

MENGATUR

WSTRING (log-bin_4)

Di sini, log-bin_4 adalah panjang total semua nilai dalam SET, termasuk koma

JSON

KLOB

Dalam beberapa kasus, Anda mungkin menentukan tipe data DATETIME dan TIMESTAMP dengan nilai "nol" (yaitu, 0000-00-00). Jika demikian, pastikan database target dalam tugas replikasi mendukung nilai "nol" untuk tipe data DATETIME dan TIMESTAMP. Jika tidak, nilai ini akan dicatat sebagai null pada target

Layanan AWS apa yang sesuai dengan MySQL?

Amazon Aurora adalah database relasional yang kompatibel dengan MySQL dan PostgreSQL yang dikelola sepenuhnya, ditawarkan sebagai bagian dari Amazon Relational Database Service (Amazon RDS). Dengan layanan terkelola seperti Aurora, pelanggan dapat membebaskan tim mereka dari tugas database yang memakan waktu seperti penyediaan server, penambalan, dan pencadangan.

Bagaimana AWS terhubung ke database MySQL?

Masuk ke AWS Management Console dan buka konsol Amazon RDS di https. //menghibur. aws. amazon. com/rds/. .
Di panel navigasi, pilih Database untuk menampilkan daftar instans DB Anda
Pilih nama instans MySQL DB untuk menampilkan detailnya
Pada tab Konektivitas & keamanan, salin titik akhir

Apakah AWS mendukung database SQL?

AWS mendukung semua yang Anda perlukan untuk membangun dan menjalankan aplikasi Windows termasuk Active Directory,. NET, Microsoft SQL Server , Windows desktop-as-a-service, dan semua versi Windows Server yang didukung.

Apakah MySQL gratis di AWS?

AWS Tingkat Gratis menyediakan penggunaan gratis Amazon RDS untuk MySQL hingga 750 jam instans per bulan . Anda juga menerima 20 GB penyimpanan database dan 20 GB penyimpanan cadangan gratis per bulan.