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

Memigrasikan MySQL ke PostgreSQL di AWS RDS, Bagian 1

Database MySQL dan database PostgreSQL keduanya adalah sistem manajemen database relasional open source (RDBMS) yang masing-masing menempati peringkat 2 dan 4, menurut DBEngines.com. Keduanya diimplementasikan dalam C (C++ juga digunakan untuk database MySQL) dan keduanya menyediakan fitur serupa, seperti dukungan XML, indeks sekunder, konkurensi, daya tahan, dan fungsi yang ditentukan pengguna. Database PostgreSQL memberikan beberapa keunggulan, beberapa di antaranya adalah sebagai berikut:

  • Mendukung tipe data tingkat lanjut seperti array multidimensi dan tipe yang ditentukan pengguna
  • Common Table Expressions (CTEs) dan fungsi Window telah tersedia sejak PostgreSQL 8.4, sementara hanya ditambahkan ke MySQL pada versi 8.0
  • Mendukung gabungan luar penuh
  • Mendukung VALUES daftar untuk menghasilkan 'tabel konstan' yang dapat digunakan dalam kueri
  • Mendukung kumpulan fungsi pengembalian generate_series
  • Mendukung kueri paralel dengan menggunakan beberapa CPU untuk menjawab kueri lebih cepat sejak versi 9.6
  • Mendukung Tampilan yang Terwujud

Jika bermigrasi dari MySQL ke AWS database PostgreSQL, DMS (Database Migration Service) menyediakan layanan terkelola yang andal dengan waktu henti nol untuk replikasi data berkelanjutan. Dalam empat tutorial, kita akan membahas migrasi instans database MySQL ke database PostgreSQL, keduanya berjalan di AWS Relational Database Service (RDS). Tutorial ini memiliki bagian berikut:

  • Mengatur Lingkungan
  • Membuat Pengguna IAM untuk DMS

Mengatur Lingkungan

Satu-satunya prasyarat adalah akun AWS, yang dapat dibuat di tautan ini. Buat kunci enkripsi master KMS untuk digunakan dengan DMS jika kunci master belum tersedia. Kunci master KMS dibuat dari IAM>Kunci enkripsi dasbor. Kami telah menggunakan kunci enkripsi master KMS yang disebut “dbms” dalam tutorial ini.

Instal database MySQL dan database PostgreSQL pada mesin lokal untuk menggunakan aplikasi antarmuka klien untuk terhubung ke instans database MySQL dan PostgreSQL di RDS.

Membuat Pengguna IAM untuk DMS

DMS terintegrasi penuh dengan beberapa layanan AWS lainnya, seperti RDS untuk database, IAM untuk manajemen identitas dan akses, KMS untuk enkripsi data, dan CloudWatch untuk logging. DMS juga mendukung S3 (Simple Storage Service) sebagai target migrasi. Di bagian ini, kita akan membuat pengguna IAM yang digunakan dengan DMS untuk memigrasikan instance Database MySQL ke database PostgreSQL. Pengguna IAM dibuat sebagai berikut:

  1. Buat Kebijakan IAM dengan semua izin dan pernyataan kebijakan yang diperlukan.
  2. Buat pengguna IAM berdasarkan Kebijakan IAM.

Untuk membuat kebijakan IAM, klik Buat kebijakan di Dasbor IAM, seperti yang ditunjukkan pada Gambar 1.


Gambar 1: Buat Kebijakan

Di Buat Kebijakan wizard, pilih Buat Kebijakan Anda Sendiri , seperti yang ditunjukkan pada Gambar 2.


Gambar 2: Memilih Opsi Buat Kebijakan Anda Sendiri

Dalam Tinjau Kebijakan , tentukan Nama Kebijakan (DMS). Kemudian, salin dokumen kebijakan berikut ke dalam Dokumen Kebijakan bidang atau wilayah.

{
   "Version": "2012-10-17",
   "Statement": [
      {
         "Effect": "Allow",
         "Action": "dms:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "s3:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "ds:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "rds:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "kms:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "iam:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "ec2:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "cloudwatch:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "aws-marketplace:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "logs:*",
         "Resource": "*"
      }
   ]
}

Dokumen kebijakan menambahkan izin untuk mengakses CloudWatch untuk logging dan RDS untuk database. Klik Validasi Kebijakan dan, jika pesannya adalah “Kebijakan ini valid”, klik Buat Kebijakan , seperti yang ditunjukkan pada Gambar 3.


Gambar 3: Buat Kebijakan

Jika kebijakan dibuat, pesan yang ditunjukkan pada Gambar 4 akan ditampilkan.


Gambar 4: DMS telah dibuat

Selanjutnya, tambahkan pengguna IAM. Pilih Pengguna di dasbor IAM dan klik Tambahkan pengguna , seperti yang ditunjukkan pada Gambar 5.


Gambar 5: Tambahkan pengguna

Tentukan Nama pengguna (dvohra). Kemudian, pilih kedua opsi yang tercantum untuk Jenis akses (lihat Gambar 6).


Gambar 6: Menambahkan Detail Pengguna

Pilih Sandi khusus opsi untuk Kata sandi konsol , tentukan sandi, dan klik Berikutnya:Izin , seperti yang ditunjukkan pada Gambar 7.


Gambar 7: Mengonfigurasi Jenis Akses

Selanjutnya, atur izin untuk pengguna. Klik Lampirkan kebijakan yang ada secara langsung , seperti yang ditunjukkan pada Gambar 8.


Gambar 8: Lampirkan kebijakan yang ada secara langsung

Di Jenis kebijakan filter, cari “DMS”, yang merupakan kebijakan yang dibuat sebelumnya. Pilih kebijakan DMS seperti yang ditunjukkan pada Gambar 9, dan klik Berikutnya.


Gambar 9: Memilih Kebijakan DMS

Dalam Tinjau , kebijakan DMS harus dicantumkan sebagai Kebijakan Terkelola di Izin ringkasan. Klik Buat pengguna , seperti yang ditunjukkan pada Gambar 10.


Gambar 10: Buat pengguna

Pengguna IAM dibuat (lihat Gambar 11).


Gambar 11 Pengguna IAM dibuat

Pengguna IAM terdaftar di IAM>Pengguna dashboard, seperti yang ditunjukkan pada Gambar 12.


Gambar 12: Pengguna IAM

Untuk masuk sebagai pengguna IAM yang dibuat, klik tautan untuk pengguna, pilih Kredensial keamanan tab, dan salin tautan masuk Konsol , seperti yang ditunjukkan pada Gambar 13.


Gambar 13: Tautan masuk konsol

Masuk sebagai pengguna IAM yang dibuat menggunakan tautan masuk Konsol untuk bagian selanjutnya.

Kesimpulan

Dalam empat tutorial pertama tentang migrasi instans database MySQL di RDS ke instans database Postgres di RDS, kami membuat pengguna IAM untuk melakukan migrasi.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Indeks MySQL - apa praktik terbaiknya?

  2. Hapus baris sql di mana ID tidak memiliki kecocokan dari tabel lain

  3. Cara membuat skrip login yang aman di PHP dan MySQL

  4. MySQL memeriksa apakah ada tabel tanpa melempar pengecualian

  5. MySQL REPLACE() – Ganti Semua Contoh Substring dengan String lain