Bagikan melalui


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, kami memigrasikan database sampel dari instans MySQL 5.7 lokal ke Azure Database for MySQL (v5.7) dengan 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 rendah (v5.6 dan versi yang lebih baru) ke versi yang lebih tinggi juga didukung.

Catatan

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

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.

    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 bahwa aturan Kelompok Keamanan Jaringan jaringan virtual Anda 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 Windows Firewall untuk mengizinkan koneksi dari Virtual Network untuk Azure Database Migration Service untuk mengakses sumber MySQL Server, yang secara default adalah port TCP 3306.

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

  • Buat aturan firewall tingkat server atau konfigurasikan titik akhir layanan jaringan virtual untuk target Azure Database for MySQL untuk memungkinkan Jaringan Virtual untuk akses 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.

  • Agar berhasil menyelesaikan migrasi skema, di server sumber, pengguna yang melakukan migrasi memerlukan hak istimewa berikut:

    • SELECT privilege pada tingkat server di sumber.
    • Jika memigrasikan tampilan, pengguna harus memiliki hak istimewa SHOW VIEW di server sumber dan hak istimewa CREATE VIEW di server target.
    • Jika memigrasikan pemicu, pengguna harus memiliki hak istimewa TRIGGER pada server sumber dan target.
    • Jika memigrasikan rutinitas (prosedur dan/atau fungsi), pengguna harus memiliki hak istimewa CREATE ROUTINE dan ALTER ROUTINE yang diberikan di tingkat server pada target.
    • Jika memigrasikan peristiwa, pengguna harus memiliki hak istimewa PERISTIWA di server sumber dan target.
    • Jika memigrasikan pengguna/login, pengguna harus memiliki hak istimewa CREATE USER di server target.
    • Hilangkan hak istimewa di tingkat server pada target, untuk menghilangkan tabel yang mungkin sudah ada. Misalnya, saat mencoba kembali migrasi.
    • Hak akses REFERENSI pada tingkat server pada target, untuk membuat tabel dengan kunci asing.
    • Jika bermigrasi ke MySQL 8.0, pengguna harus memiliki hak istimewa SESSION_VARIABLES_ADMIN di server target.
    • BUAT akses istimewa di tingkat server untuk target.
    • SISIPKAN hak istimewa di tingkat server pada target.
    • UPDATE privilege di tingkat server pada target.
    • HAPUS hak istimewa di tingkat server pada target.

Mengukur instans Azure Database 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 – diatur ke 1073741824 (yaitu, 1 GB) untuk mencegah masalah koneksi karena baris besar.

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

  • query_store_capture_mode – atur ke NONE untuk menonaktifkan Penyimpanan Kueri. Ini menghilangkan overhead yang diakibatkan oleh aktivitas pengambilan sampel dari Query Store.

  • innodb_buffer_pool_size – Innodb_buffer_pool_size hanya dapat ditingkatkan dengan meningkatkan komputasi untuk server Azure Database for MySQL. Selama migrasi, tingkatkan skala server ke 64 vCore General Purpose SKU dari lapisan harga portal untuk meningkatkan innodb_buffer_pool_size.

  • innodb_io_capacity dan 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 dan 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 Fleksibel, kami sarankan Anda menskalakan (menambah atau mengurangi) IOPS terlepas dari ukuran penyimpanan.
    • Ukuran penyimpanan hanya dapat ditingkatkan skalanya, bukan ke bawah.
  • Pilih ukuran komputasi dan tingkat komputasi untuk server fleksibel target berdasarkan konfigurasi server MySQL sumber.

    1 Untuk migrasi, sebagai praktik terbaik, pilih komputasi General Purpose 16 vCores atau yang lebih tinggi untuk server fleksibel target untuk migrasi yang lebih cepat. Skalakan kembali ke ukuran komputasi yang diinginkan untuk server target setelah migrasi selesai.

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 disebarkan dan dikonfigurasi, Anda selanjutnya perlu menyiapkan DMS untuk memigrasikan server MySQL Anda ke server fleksibel.

Mendaftarkan penyedia sumber

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

  1. Sebelum Anda membuat instans DMS pertama Anda, masuk ke portal Microsoft Azure, lalu cari dan pilih Langganan.

    Cuplikan layar Pilih langganan dari Marketplace Azure.

  2. Pilih langganan yang ingin Anda gunakan untuk membuat instans DMS, lalu pilih Penyedia sumber daya.

    Cuplikan layar Pilih Penyedia Sumber Daya.

  3. Cari istilah "Migrasi", lalu, untuk Microsoft.DataMigration, pilih Daftar.

    Cuplikan layar Daftarkan penyedia sumber daya Anda.

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 dropdown.

    Cuplikan layar Marketplace Azure.

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

    Cuplikan layar buat instans Azure Database Migration Service.

  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.

    Cuplikan layar konfigurasi pengaturan dasar Azure Database Migration Service.

  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.

    Cuplikan layar Konfigurasikan pengaturan jaringan Azure Database Migration Service.

    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.

    Cuplikan layar pembuatan Azure Database Migration Service.

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.

    Cuplikan layar Temukan semua instans Azure Database Migration Service.

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

    Cuplikan layar Buat proyek migrasi baru.

  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.

    Cuplikan layar Buat Proyek Layanan Migrasi Database.

    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 >>

    Cuplikan layar Tambahkan detail sumber.

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

    Cuplikan layar Tambahkan detail target.

  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.

    Cuplikan layar Pilih detail database.

  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 dipotong sebelum memulai migrasi.

    Cuplikan layar Pilih tabel.

  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.

    Cuplikan layar ringkasan proyek Migrasi.

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

    Cuplikan layar Menjalankan migrasi.

Memantau migrasi

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

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

    Cuplikan layar migrasi Pemantauan.

Menyelesaikan migrasi

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

    Cuplikan layar Migrasi lengkap.

Aktivitas pasca migrasi

Proses cutover dalam migrasi offline adalah proses yang bergantung pada aplikasi dan tidak tercakup dalam dokumen ini; namun, aktivitas pascamigrasi berikut ditentukan:

  1. Buat login, peran, dan izin sesuai persyaratan aplikasi.
  2. Buat ulang semua pemicu pada database target seperti yang diekstrak selama langkah pramigrasi.
  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.

    Cuplikan layar Temukan semua instans DMS.

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

    Cuplikan layar Hapus layanan migrasi.

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

    Cuplikan layar Konfirmasi penghapusan layanan migrasi.