Tutorial: Memigrasikan MySQL ke Azure Database for MySQL secara online menggunakan DMS

Anda dapat menggunakan Azure Database Migration Service untuk melakukan migrasi tanpa hambatan dari instans MySQL eksternal Anda ke Azure Database for MySQL dengan kemampuan migrasi data berkecepatan tinggi. Dalam tutorial ini, Anda memigrasikan database sampel dari instans MySQL 5.7 lokal ke Azure Database for MySQL (v5.7) menggunakan aktivitas migrasi offline di Azure Database Migration Service. Meskipun artikel mengasumsikan sumber menjadi instans database MySQL dan target menjadi Azure Database for MySQL, artikel tersebut dapat digunakan untuk bermigrasi dari satu Azure Database for MySQL ke instans lain hanya dengan mengubah nama dan kredensial server sumber. Selain itu, migrasi dari server MySQL versi lebih lama (v5.6 dan yang lebih lama) ke versi yang lebih baru juga didukung.

Catatan

Untuk versi skrip berbasis PowerShell dari pengalaman migrasi ini, lihat migrasi offline yang dapat ditulis ke Azure Database for MySQL.

Catatan

Amazon Relational Database Service (RDS) untuk MySQL dan Amazon Aurora (berbasis MySQL) juga didukung sebagai sumber migrasi.

Dalam tutorial ini, Anda akan mempelajari cara:

  • Buat instans DMS.
  • Buat proyek migrasi MySQL di DMS.
  • Migrasikan skema MySQL menggunakan DMS.
  • Menjalankan migrasi.
  • Memantau migrasinya.

Prasyarat

Untuk menyelesaikan tutorial ini, Anda perlu:

  • Memiliki akun Azure dengan langganan aktif. Buat akun secara gratis.

  • Memiliki database MySQL lokal dengan versi 5.7 atau lebih baru. Jika belum, maka unduh dan instal edisi komunitas MySQL 5.7.

  • Buat Microsoft Azure Virtual Network for Azure Database Migration Service dengan menggunakan model penyebaran Azure Resource Manager, yang menyediakan konektivitas antar-situs ke server sumber lokal Anda dengan menggunakan ExpressRoute atau VPN. Untuk mengetahui informasi selengkapnya tentang cara membuat jaringan virtual, lihat Dokumentasi Jaringan Virtual, terutama artikel mulai cepat yang disertai detail langkah demi langkah.

    Catatan

    Selama penyiapan networkNet virtual, jika Anda menggunakan ExpressRoute dengan peering jaringan ke Microsoft, tambahkan titik akhir layanan berikut ke subnet tempat layanan akan diprovisikan:

    • Titik akhir database target (misalnya, titik akhir SQL, titik akhir Cosmos DB, serta sebagainya)
    • Titik akhir penyimpanan
    • Titik akhir bus layanan

    Konfigurasi ini diperlukan karena Azure Database Migration Service tidak memiliki konektivitas internet.

  • Pastikan aturan Kelompok Keamanan Jaringan pada jaringan virtual tidak memblokir port keluar 443 ServiceTag untuk ServiceBus, Storage, dan AzureMonitor. Untuk mengetahui detail selengkapnya tentang pemfilteran lalu lintas NSG jaringan virtual, lihat artikel Memfilter lalu lintas jaringan dengan kelompok keamanan jaringan.

  • Buka firewall Windows Anda untuk mengizinkan koneksi dari Virtual Network for Azure Database Migration Service agar dapat mengakses MySQL Server sumber, yang secara default adalah port TCP 3306.

  • Saat menggunakan perangkat firewall di depan database sumber, Anda mungkin perlu menambahkan aturan firewall untuk mengizinkan koneksi dari Virtual Network for Azure Database Migration Service guna mengakses database sumber untuk migrasi.

  • Buat aturan firewall tingkat server atau konfigurasi titik akhir layanan VNET untuk Azure Database for MySQL target untuk memungkinkan akses Virtual Network for Azure Database Migration Service ke database target.

  • MySQL sumber harus menggunakan edisi komunitas MySQL yang didukung. Untuk menentukan versi instans MySQL, dalam utilitas MySQL atau MySQL Workbench, jalankan perintah berikut:

    SELECT @@version;
    
  • Azure Database for MySQL hanya mendukung tabel InnoDB. Untuk mengonversi tabel MyISAM ke InnoDB, lihat artikel Mengonversi Tabel dari MyISAM ke InnoDB

  • Pengguna harus memiliki hak istimewa untuk membaca data pada database sumber.

  • Untuk menyelesaikan migrasi skema dengan sukses, pada server sumber, pengguna yang melakukan migrasi memerlukan hak istimewa berikut:

Mengukur instans Azure DB for MySQL target

Untuk menyiapkan server Azure Database for MySQL target untuk beban data yang lebih cepat menggunakan Azure Database Migration Service, parameter server berikut dan perubahan konfigurasi direkomendasikan.

  • max_allowed_packet – set to 1073741824 (yaitu 1 GB) untuk mencegah masalah koneksi karena baris panjang.

  • slow_query_log – atur ke OFF untuk menonaktifkan log kueri lambat. Tindakan ini akan menghilangkan overhead yang disebabkan oleh pengelogan kueri yang lambat selama pemuatan data.

  • query_store_capture_mode - atur ke NONE untuk menonaktifkan Query Store. Tindakan ini akan menghilangkan overhead yang disebabkan oleh aktivitas pengambilan sampel oleh Query Store.

  • innodb_buffer_pool_size – Innodb_buffer_pool_size hanya dapat ditingkatkan dengan meningkatkan skala komputasi untuk server Azure Database for MySQL. Tingkatkan skala server ke vCore 64 SKU Tujuan Umum dari tingkat Harga portal selama migrasi untuk meningkatkan innodb_buffer_pool_size.

  • innodb_io_capacity & innodb_io_capacity_max - Ubah ke 9000 dari parameter Server di portal Microsoft Azure untuk meningkatkan pemanfaatan IO untuk mengoptimalkan kecepatan migrasi.

  • innodb_write_io_threads & innodb_write_io_threads - Ubah ke 4 dari parameter Server di portal Microsoft Azure untuk meningkatkan kecepatan migrasi.

  • Meningkatkan skala tingkat Penyimpanan - IOP untuk server Azure Database for MySQL meningkat secara progresif dengan peningkatan tingkat penyimpanan.

    • Dalam opsi penyebaran Server Tunggal, untuk pemuatan yang lebih cepat, kami sarankan untuk meningkatkan tingkat penyimpanan guna meningkatkan IOP yang disediakan.
    • Dalam opsi penyebaran Server Fleksibel, kami sarankan Anda menskalakan (menambah atau mengurangi) IOPS terlepas dari ukuran penyimpanan.
    • Ingat bahwa penyimpanan hanya dapat ditingkatkan skalanya, bukan diturunkan.
  • Pilih ukuran dan tingkat komputasi untuk server fleksibel target berdasarkan tingkat harga server tunggal sumber dan VCore berdasarkan detail dalam tabel berikut.

    Tingkat Harga Server Tunggal VCore Server Tunggal Ukuran Komputasi Server Fleksibel Tingkat Komputasi Server Fleksibel
    Dasar* 1 Tujuan Umum Standard_D16ds_v4
    Dasar* 2 Tujuan Umum Standard_D16ds_v4
    Tujuan Umum* 4 Tujuan Umum Standard_D16ds_v4
    Tujuan Umum* 8 Tujuan Umum Standard_D16ds_v4
    Tujuan Umum 16 Tujuan Umum Standard_D16ds_v4
    Tujuan Umum 32 Tujuan Umum Standard_D32ds_v4
    Tujuan Umum 64 Tujuan Umum Standard_D64ds_v4
    Memori Dioptimalkan 4 Kritis Bisnis Standard_E4ds_v4
    Memori Dioptimalkan 8 Kritis Bisnis Standard_E8ds_v4
    Memori Dioptimalkan 16 Kritis Bisnis Standard_E16ds_v4
    Memori Dioptimalkan 32 Kritis Bisnis Standard_E32ds_v4

* Untuk migrasi, pilih komputasi General Purpose 16 vCores untuk server fleksibel target untuk migrasi yang lebih cepat. Perkecil ukuran komputasi yang diinginkan untuk server target setelah migrasi selesai dengan mengikuti rekomendasi ukuran komputasi di bagian Melakukan aktivitas pascamigrasi di artikel ini.

Setelah migrasi selesai, Anda dapat mengembalikan parameter server dan konfigurasi ke nilai sebelumnya yang diperlukan beban kerja Anda.

Menyiapkan DMS

Dengan server fleksibel target Anda yang disebarkan dan dikonfigurasi, Anda selanjutnya perlu menyiapkan DMS untuk memigrasikan server tunggal Anda ke server fleksibel.

Mendaftarkan penyedia sumber

Untuk mendaftarkan penyedia sumber daya Microsoft.DataMigration, lakukan langkah-langkah berikut.

  1. Sebelum membuat instans DMS pertama Anda, masuk ke portal Azure, lalu cari dan pilih Langganan. Screenshot of a Select subscriptions from Azure Marketplace.

  2. Pilih langganan yang ingin Anda gunakan untuk membuat instans DMS, lalu pilih Penyedia sumber daya. Screenshot of a Select Resource Provider.

  3. Cari istilah "Migrasi", lalu, untuk Microsoft.DataMigration, pilih Daftar. Screenshot of a Register your resource provider.

Membuat instans Database Migration Service

  1. Di portal Azure, pilih + Buat sumber daya, cari Azure Database Migration Service, lalu pilih Azure Database Migration Service dari daftar drop-down.

    Azure Marketplace

  2. Pada layar Azure Database Migration Service, pilih Buat.

    Create Azure Database Migration Service instance

  3. Pada layar Buat Layanan Migrasi, tentukan nama layanan, langganan, dan grup sumber daya baru atau yang sudah ada.

  4. Pilih tingkat harga dan pindah ke layar jaringan. Kemampuan migrasi offline hanya tersedia di tingkat harga Premium.

    Untuk mengetahui informasi selengkapnya tentang tingkat biaya dan harga, lihat halaman harga.

    Configure Azure Database Migration Service basic settings

  5. Pilih jaringan virtual yang ada dari daftar atau sediakan nama jaringan virtual baru yang akan dibuat. Pindah ke layar tinjau + buat. Secara opsional, Anda dapat menambahkan tag ke layanan menggunakan layar tag.

    Jaringan virtual memberi Azure Database Migration Service akses ke SQL Server sumber dan instans Azure SQL Database target.

    Configure Azure Database Migration Service network settings

    Untuk mengetahui informasi selengkapnya tentang cara membuat jaringan virtual di portal Microsoft Azure, lihat artikel Membuat jaringan virtual menggunakan portal Microsoft Azure.

  6. Tinjau konfigurasi, lalu pilih Buat untuk membuat layanan.

    Azure Database Migration Service create

Membuat proyek migrasi

Setelah layanan dibuat, temukan layanan di portal Azure, buka lalu buat proyek migrasi baru.

  1. Di portal Azure, pilih Semua layanan, cari Azure Database Migration Service, lalu pilih Azure Database Migration Services.

    Locate all instances of Azure Database Migration Service

  2. Pilih instans layanan migrasi Anda dari hasil pencarian dan pilih + Proyek Migrasi Baru.

    Create a new migration project

  3. Di layar Proyek migrasi baru, tentukan nama untuk proyek, di kotak pilihan Jenis server sumber, pilih MySQL, di kotak pilihan Jenis server target, pilih Azure Database for MySQL, dan di kotak pilihan Jenis aktivitas migrasi, pilih Migrasi data. Pilih Buat dan jalankan aktivitas.

    Create Database Migration Service Project

    Catatan

    Sebagai gantinya, Anda dapat memilih Hanya buat proyek untuk membuat proyek migrasi sekarang dan menjalankan migrasi nanti.

Mengonfigurasi proyek migrasi

  1. Pada layar Pilih sumber, tentukan detail koneksi untuk instans MySQL sumber, dan pilih Berikutnya : Pilih target>>

    Add source details screen

  2. Pada layar Pilih target, tentukan detail koneksi untuk instans Azure Database for MySQL target, dan pilih Berikutnya : Pilih database>>

    Add target details screen

  3. Pada layar Pilih database, petakan database sumber dan target untuk migrasi, dan pilih Berikutnya : Konfigurasikan pengaturan>> migrasi. Anda dapat memilih opsi Jadikan Server Sumber Sebagai Baca-Saja untuk menjadikan sumber sebagai baca-saja, tetapi berhati-hatilah bahwa ini adalah pengaturan tingkat server. Jika dipilih, upaya ini mengatur seluruh server menjadi baca-saja, bukan hanya database yang dipilih.

    Jika database target berisi nama database yang sama dengan database sumber, Azure Database Migration Service memilih database target secara default. Select database details screen

  4. Pada layar Konfigurasikan pengaturan migrasi, pilih tabel yang akan menjadi bagian dari migrasi, dan pilih Berikutnya : Ringkasan>>. Jika tabel target memiliki data apa pun, tabel tersebut tidak dipilih secara default tetapi Anda dapat secara eksplisit memilihnya dan tabel tersebut akan dipotong sebelum memulai migrasi.

    Select tables screen

  5. Di layar Ringkasan, dalam kotak teks Nama aktivitas, tentukan nama untuk aktivitas migrasi dan tinjau ringkasan untuk memastikan bahwa detail sumber dan target cocok dengan apa yang telah Anda tentukan sebelumnya.

    Migration project summary

  6. Pilih Mulai migrasi. Jendela aktivitas migrasi muncul, dan Status aktivitas menjadi Memulai. Status berubah menjadi Berjalan saat migrasi tabel dimulai.

    Running migration

Memantau migrasi

  1. Pada layar aktivitas migrasi, pilih Refresh untuk memperbarui tampilan dan melihat kemajuan tentang jumlah tabel yang selesai.

  2. Anda dapat mengeklik nama database di layar aktivitas untuk melihat status setiap tabel saat dimigrasikan. Pilih Refresh untuk memperbarui display.

    Monitoring migration

Menyelesaikan migrasi

  1. Pada layar aktivitas migrasi, pilih Segarkan untuk memperbarui tampilan hingga Status migrasi ditampilkan sebagai Selesai.

    Complete migration

Aktivitas pasca migrasi

Migrasi langsung di migrasi offline adalah proses yang bergantung pada aplikasi yang berada di luar cakupan dokumen ini, tetapi disarankan untuk mengikuti aktivitas pasca migrasi berikut:

  1. Membuat login, peran, dan izin sesuai persyaratan aplikasi.
  2. Membuat ulang semua pemicu pada database target seperti yang diekstrak selama langkah pra-migrasi.
  3. Melakukan pengujian perubahan aplikasi terhadap basis data target untuk menjamin keberhasilan migrasi.

Membersihkan sumber daya

Jika Anda tidak akan terus menggunakan Layanan Migrasi Database, maka Anda dapat menghapus layanan dengan langkah-langkah berikut:

  1. Di portal Azure, pilih Semua layanan, cari Azure Database Migration Service, lalu pilih Azure Database Migration Services.

    Locate all instances of DMS

  2. Pilih instans layanan migrasi Anda dari hasil pencarian dan pilih Hapus Layanan.

    Delete the migration service

  3. Pada dialog konfirmasi, ketik nama layanan di kotak teks KETIK NAMA LAYANAN MIGRASI DATABASE dan pilih Hapus.

    Confirm migration service delete

Langkah berikutnya