Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Memigrasikan MySQL ke PostgreSQL di AWS RDS, Bagian 4

Dalam empat tutorial, kami mengeksplorasi migrasi database MySQL ke database PostgreSQL menggunakan AWS Database Migration Service (DMS). Kami mulai dengan membuat pengguna IAM untuk DMS di tutorial pertama, “Migrating MySQL to PostgreSQL on AWS RDS, Part 1.” Selanjutnya, kami membahas pembuatan instance MySQL dan PostgreSQL di AWS Relational Database Service (RDS) dalam tutorial kedua, “Migrating MySQL to PostgreSQL on AWS RDS, Part 2.” Dalam tutorial ketiga, “Migrating MySQL to PostgreSQL on AWS RDS, Part 3,” kami membuat migrasi DMS. Dalam tutorial terakhir ini, kita akan membahas menjalankan migrasi DMS untuk melakukan migrasi.

Tutorial ini memiliki bagian berikut:

  • Menjalankan Tugas Migrasi DMS
  • Menjelajahi Basis Data yang Dimigrasikan
  • Menjelajahi Log CloudWatch
  • Batasan di MySQL ke Migrasi PostgreSQL dengan DMS
  • Kesimpulan

Menjalankan Tugas Migrasi DMS

Setelah tugas dibuat, Status harus menjadi Siap , seperti yang ditunjukkan pada Gambar 1. Klik Mulai/Lanjutkan untuk memulai tugas.


Gambar 1: Mulai/Lanjutkan

Statusnya harus menjadi Mulai , seperti yang ditunjukkan pada Gambar 2.


Gambar 2: Tugas Dimulai

Ketika tugas telah membuat koneksi dengan instance replikasi dan titik akhir database dan diterapkan, tabel memetakan status menjadi Berjalan , seperti yang ditunjukkan pada Gambar 3.


Gambar 3: Status Berjalan

Migrasi dijalankan sebagaimana dikonfigurasi dan, setelah migrasi berhasil diselesaikan, Status menjadi Pemuatan selesai , seperti yang ditunjukkan pada Gambar 4. Tabel dimuat kolom menunjukkan jumlah tabel yang dimuat.


Gambar 4: Pemuatan Status selesai

Untuk tabel yang telah dimigrasikan, klik Statistik Tabel tab, seperti yang ditunjukkan pada Gambar 5. Statistik Tabel, termasuk Skema, Tabel, Status, # Sisipan, Penghapusan, Pembaruan, DDL, Baris Beban Penuh, dan Total terdaftar.


Gambar 5: Statistik Tabel

Jika tabel database sumber tidak menyertakan tabel, Baris Muat Penuh adalah 0. Jika tabel sumber memiliki baris, Full Load Rows menunjukkan # baris seperti yang ditunjukkan untuk beberapa baris pada Gambar 6.


Gambar 6: Full Load Rows untuk beberapa tabel adalah 0, sedangkan untuk tabel lainnya, # baris yang dimuat

Menjelajahi Basis Data yang Dimigrasikan

Setelah memigrasikan skema dan tabel database MySQL ke PostgreSQL, daftarkan skema di PostgreSQL CLI dengan dn memerintah. Skema yang dimigrasikan akan dicantumkan, seperti yang ditunjukkan pada Gambar 7. publik skema sudah ada sebelum migrasi.


Gambar 7: Skema dimigrasikan dari MySQL ke Database PostgreSQL

Migrasi DMS mengonversi jenis kolom tabel secara otomatis. Indeks sekunder ditambahkan untuk kunci utama, dibuat secara otomatis dalam pemetaan tabel.

Data tabel juga dimigrasikan, seperti yang ditunjukkan untuk mysql.user tabel pada Gambar 8.


Gambar 8: Data Tabel juga dimigrasikan

Saat bermigrasi dari satu tipe database ke tipe database lainnya (migrasi heterogen), pemetaan tipe data dibuat oleh DMS secara otomatis. Tipe Data DMS perantara digunakan selama migrasi. Saat bermigrasi dari Database MySQL ke PostgreSQL, pertama-tama tipe data MySQL dimigrasikan ke tipe data DMS menggunakan pemetaan bawaan untuk database MySQL sebagai database sumber. Selanjutnya, tipe data DMS dipetakan ke tipe data PostgreSQL, sekali lagi menggunakan pemetaan bawaan untuk PostgreSQL sebagai database target. Tabel terkait RDS di database MySQL di RDS juga dimigrasikan ke database PostgreSQL, seperti tabel “mysql”.”rds_replication_status” yang ditunjukkan pada Gambar 9.


Gambar 9: Data yang Dimigrasikan untuk Tabel Informasi RDS

Menjelajahi CloudWatch Logs

Jika logging dikonfigurasi, seperti yang kami lakukan, log dapat dipantau dari Log tab, seperti yang ditunjukkan pada Gambar 10. Klik tautan tugas untuk membuat daftar log CloudWatch.


Gambar 10: Log

Log CloudWatch terdaftar (lihat Gambar 11).


Gambar 11 Log CloudWatch

Seperti yang ditunjukkan oleh pesan log CloudWatch pada Gambar 12, “Semua tabel dimuat. Tugas hanya beban penuh dihentikan”.


Gambar 12: Semua tabel dimuat

Jumlah record yang ditransfer juga dicantumkan, seperti untuk sys.sys_config tabel pada Gambar 13.


Gambar 13: Entri log untuk Tabel Database mencakup # catatan yang ditransfer

Log CloudWatch dapat digunakan untuk men-debug tugas migrasi yang dijalankan. Pesan kesalahan dicantumkan untuk tabel yang tidak berhasil dimigrasikan di log CloudWatch.

Batasan di MySQL ke Migrasi PostgreSQL dengan DMS

Migrasi dari database MySQL ke database PostgreSQL dengan DMS bukan tanpa batasan. Layanan DMS itu sendiri memiliki batasan per akun pengguna AWS. Keterbatasan DMS lainnya bisa khusus untuk database. Tipe data sumber DMS untuk MySQL tidak menyertakan kumpulan karakter 4 byte UTF-8 (utf8mb4). Kumpulan karakter yang didukung oleh DMS adalah Kode Page 1252 Windows Latin 1 (ANSI) dan karakter yang tidak ada dalam kumpulan karakter dapat menghasilkan kesalahan selama migrasi. Beberapa keterbatasan ada untuk database MySQL sebagai sumber DMS. Satu-satunya batasan untuk menggunakan PostgreSQL sebagai database target DMS adalah tipe data JSON dikonversi ke tipe data Native CLOB.

Kesimpulan

Dalam empat tutorial, kita telah membahas migrasi instance database MySQL di RDS ke instance database Postgres di RDS.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. GROUP BY perilaku ketika tidak ada fungsi agregat hadir dalam klausa SELECT

  2. FROM_DAYS() Contoh – MySQL

  3. Cara Memperbarui Tampilan di MySQL

  4. Kinerja operator MySQL IN pada jumlah nilai (besar?)

  5. Kesalahan MySql:Tidak dapat memperbarui tabel dalam fungsi/pemicu tersimpan karena sudah digunakan oleh pernyataan yang memanggil fungsi/pemicu tersimpan ini