Bagikan melalui


Tutorial: Memigrasikan Azure Database for MySQL - Server Tunggal ke Server Fleksibel secara offline menggunakan DMS melalui portal Azure

Anda dapat memigrasikan instans Azure Database for MySQL – Server Tunggal ke Azure Database for MySQL – Server Fleksibel dengan menggunakan Azure Database Migration Service (DMS), layanan terkelola sepenuhnya yang dirancang untuk memungkinkan migrasi lancar dari berbagai sumber database ke platform data Azure. Dalam tutorial ini, kami melakukan migrasi offline database sampel dari server tunggal Azure Database for MySQL ke server fleksibel MySQL (keduanya menjalankan versi 5.7) menggunakan aktivitas migrasi DMS.

DMS mendukung migrasi dari server MySQL versi lebih rendah (v5.6 ke atas) ke versi yang lebih tinggi. Selain itu, DMS mendukung migrasi lintas wilayah, lintas grup sumber daya, dan lintas langganan, sehingga Anda dapat memilih wilayah, grup sumber daya, dan langganan untuk server target yang berbeda dari yang ditentukan untuk server sumber Anda.

Penting

Untuk migrasi online, Anda dapat menggunakan fitur Aktifkan Konsistensi Transaksional yang didukung oleh DMS bersama dengan Replikasi data masuk atau mereplikasi perubahan. Selain itu, Anda dapat menggunakan skenario migrasi online untuk bermigrasi dengan mengikuti tutorial di sini.

Dalam tutorial ini, Anda akan mempelajari cara:

  • Terapkan praktik terbaik untuk membuat server fleksibel untuk pemuatan data yang lebih cepat menggunakan DMS.
  • Membuat dan mengonfigurasi server fleksibel target.
  • Buat instans DMS.
  • Buat proyek migrasi MySQL di DMS.
  • Migrasikan skema MySQL menggunakan DMS.
  • Menjalankan migrasi.
  • Memantau migrasinya.
  • Lakukan langkah-langkah pascamigrasi.
  • Terapkan praktik terbaik untuk melakukan migrasi.

Prasyarat

Untuk menyelesaikan tutorial ini, Anda perlu:

Batasan

Saat Anda mempersiapkan migrasi, pastikan untuk mempertimbangkan batasan berikut.

  • Saat memigrasikan objek nontabel, DMS tidak mendukung penggantian nama database.

  • Saat bermigrasi ke server target dengan bin_log diaktifkan, pastikan untuk mengaktifkan log_bin_trust_function_creators untuk memungkinkan pembuatan rutinitas dan pemicu.

  • Saat memigrasikan skema, DMS tidak mendukung pembuatan database di server target.

  • Saat ini, DMS tidak mendukung migrasi klausul PENDEFINISI untuk objek. Semua jenis objek dengan pendefinisi pada sumber dihilangkan dan setelah migrasi, pendefinisi default untuk tabel akan diatur ke login yang digunakan untuk menjalankan migrasi.

  • Saat ini, DMS hanya mendukung migrasi skema sebagai bagian dari pergerakan data. Jika tidak ada yang dipilih untuk pergerakan data, migrasi skema tidak akan terjadi. Memilih tabel untuk migrasi skema juga memilihnya untuk pergerakan data.

Praktik terbaik untuk membuat server fleksibel untuk pemuatan data yang lebih cepat menggunakan DMS

DMS mendukung migrasi lintas wilayah, grup lintas sumber daya, dan lintas langganan, sehingga Anda bebas memilih wilayah, grup sumber daya, dan langganan yang sesuai untuk server fleksibel target Anda. Sebelum Anda membuat server fleksibel target, pertimbangkan panduan konfigurasi berikut untuk membantu memastikan pemuatan data yang lebih cepat menggunakan DMS.

  • Pilih ukuran komputasi 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 1 Tujuan Umum Standard_D16ds_v4
    Dasar 1 2 Tujuan Umum Standard_D16ds_v4
    Tujuan Umum 1 4 Tujuan Umum Standard_D16ds_v4
    Tujuan Umum 1 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

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

  • Versi MySQL untuk server fleksibel target harus lebih besar dari atau sama dengan server tunggal sumber.

  • Kecuali Anda perlu menyebarkan server fleksibel target di zona tertentu, atur nilai parameter Zona Ketersediaan ke 'Tidak ada preferensi'.

  • Untuk konektivitas jaringan, pada tab Jaringan, jika server tunggal sumber memiliki titik akhir privat atau tautan privat yang dikonfigurasi, pilih Akses Privat; jika tidak, pilih Akses Publik.

  • Salin semua aturan firewall dari server tunggal sumber ke server fleksibel target.

  • Salin semua tag nama/nilai dari server tunggal ke fleksibel selama pembuatannya.

Membuat dan mengonfigurasi server fleksibel target

Dengan mengingat praktik terbaik ini, buat server fleksibel target Anda lalu konfigurasikan.

  • Buat server fleksibel target. Untuk langkah-langkah terpandu, lihat mulai cepat Mulai Cepat: Membuat instans Azure Database for MySQL dengan portal Azure.

  • Di samping mengonfigurasi server fleksibel target yang baru dibuat, lanjutkan sebagai berikut:

    • Pengguna yang melakukan migrasi memerlukan izin berikut:
      • Untuk membuat tabel pada target, pengguna harus memiliki hak istimewa "CREATE".
      • Jika bermigrasi ke tabel dengan opsi "UNION", pengguna harus memiliki hak istimewa "SELECT," "UPDATE," dan "DELETE" untuk tabel yang Anda petakan ke tabel MERGE.
      • Jika memigrasikan tampilan, Anda harus memiliki hak istimewa "CREATE VIEW". Perlu diingat bahwa beberapa hak istimewa mungkin diperlukan tergantung pada konten tampilan. Lihat dokumen MySQL khusus untuk versi Anda untuk "CREATE VIEW STATEMENT" untuk detailnya
      • Jika memigrasikan peristiwa, pengguna harus memiliki hak istimewa "PERISTIWA".
      • Jika memigrasikan pemicu, pengguna harus memiliki hak istimewa "TRIGGER".
      • Jika memigrasikan rutinitas, pengguna harus memiliki hak istimewa "CREATE ROUTINE".
    • Buat database target, meskipun tidak perlu diisi dengan tabel/tampilan, dll.
      • Atur karakter, kolase, dan pengaturan skema lain yang berlaku sebelum memulai migrasi, karena ini dapat memengaruhi kumpulan DEFAULT dalam beberapa definisi objek.
      • Selain itu, jika memigrasikan objek non-tabel, pastikan untuk menggunakan nama yang sama untuk skema target seperti yang digunakan pada sumber.
    • Konfigurasikan parameter server pada server fleksibel target sebagai berikut:
      • Atur versi TLS dan parameter server require_secure_transport agar sesuai dengan nilai di server sumber.
      • Atur parameter server sql_mode agar sesuai dengan nilai di server sumber.
      • Konfigurasikan parameter server pada server target agar sesuai dengan nilai non-default yang digunakan di server sumber.
      • Untuk memastikan pemuatan data yang lebih cepat saat menggunakan DMS, konfigurasikan parameter server berikut seperti yang dijelaskan.
        • max_allowed_packet – atur ke 1073741824 (yaitu, 1 GB) untuk mencegah masalah koneksi karena baris besar.
        • 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.
        • innodb_buffer_pool_size – hanya dapat ditingkatkan dengan meningkatkan 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 - Ubah ke 4 dari parameter Server di portal Azure untuk meningkatkan kecepatan migrasi.
    • Konfigurasikan replika pada server target agar sesuai dengan replika di server sumber.
    • Replikasi fitur manajemen server berikut dari server tunggal sumber ke server fleksibel target:
      • Penetapan peran, Peran, Penolakan Penugasan, administrator klasik, Kontrol Akses (IAM)
      • Kunci (baca-saja dan hapus)
      • Peringatan
      • Tugas
      • Pemberitahuan Kesehatan Sumber Daya

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.

    Cuplikan layar 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 Pilih Daftar.

Membuat instans Database Migration Service (DMS)

  1. Di portal Azure, pilih + Buat sumber daya, cari istilah "Azure Database Migration Service", lalu pilih Azure Database Migration Service dari daftar dropdown.

    Cuplikan layar Search Azure Database Migration Service.

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

    Cuplikan layar instans Buat Azure Database Migration Service.

  3. Pada halaman Pilih skenario migrasi dan Layanan Migrasi Database, di bawah Skenario migrasi, pilih Azure Database for MySQL-Single Server sebagai jenis server sumber, lalu pilih Azure Database for MySQL sebagai jenis server target, lalu pilih Pilih.

    Cuplikan layar Pilih Skenario Migrasi.

  4. Pada halaman Buat Layanan Migrasi, pada tab Dasar , di bawah Detail proyek, pilih langganan yang sesuai, lalu pilih grup sumber daya yang sudah ada atau buat yang baru.

  5. Di bawah Detail instans, tentukan nama untuk layanan, pilih wilayah, lalu verifikasi bahwa Azure dipilih sebagai mode layanan.

  6. Di sebelah kanan Tingkat harga, pilih Konfigurasikan tingkat.

    Cuplikan layar Pilih Konfigurasi Tingkat.

  7. Pada halaman Konfigurasikan , pilih tingkat harga Premium dengan 4 vCore untuk instans DMS Anda, lalu pilih Terapkan.

    DMS Premium 4-vCore gratis selama 6 bulan (183 hari) dari tanggal pembuatan layanan DMS sebelum dikenakan biaya apa pun. Untuk informasi selengkapnya tentang biaya dan tingkat harga DMS, lihat halaman harga.

    Cuplikan layar tingkat Pilih Harga.

    Selanjutnya, kita perlu menentukan VNet yang akan menyediakan instans DMS dengan akses ke server tunggal sumber dan server fleksibel target.

  8. Pada halaman Buat Layanan Migrasi, pilih Berikutnya : Jaringan >>.

  9. Pada tab Jaringan , pilih VNet yang sudah ada dari daftar atau berikan nama VNet baru untuk dibuat, lalu pilih Tinjau + Buat.

    Untuk informasi selengkapnya, lihat artikel Membuat jaringan virtual menggunakan portal Azure.

    Cuplikan layar Pilih Jaringan.

    VNet Anda harus dikonfigurasi dengan akses ke server tunggal sumber dan server fleksibel target, jadi pastikan untuk:

    • Buat aturan firewall tingkat server atau konfigurasikan titik akhir layanan VNET untuk server Azure Database for MySQL sumber dan target untuk memungkinkan VNet untuk Azure Database Migration Service mengakses database sumber dan target.

    • Pastikan aturan VNet Network Security Group (NSG) Anda tidak memblokir port keluar 443 ServiceTag untuk ServiceBus, Storage, dan Azure Monitor. Untuk informasi selengkapnya tentang pemfilteran lalu lintas NSG VNet, lihat Memfilter lalu lintas jaringan dengan grup keamanan jaringan.

    Jika Anda ingin menambahkan tag ke layanan, pertama-tama pilih Berikutnya : Tag untuk melanjutkan ke tab Tag terlebih dahulu. Menambahkan tag ke layanan bersifat opsional.

  10. Navigasi ke tab Tinjau + buat , tinjau konfigurasi, lihat istilah, lalu pilih Buat.

    Cuplikan layar Pilih Tinjau+Buat.

    Penyebaran instans DMS Anda sekarang dimulai. Pesan Penyebaran sedang berlangsung muncul selama beberapa menit, lalu pesan berubah menjadi Penyebaran Anda selesai.

  11. Pilih Buka sumber daya.

    Cuplikan layar Pilih Buka sumber daya.

  12. Identifikasi alamat IP instans DMS dari halaman gambaran umum sumber daya dan buat aturan firewall untuk server tunggal sumber Anda dan server fleksibel target yang memungkinkan daftar alamat IP instans DMS.

Membuat proyek migrasi

Untuk membuat proyek migrasi, lakukan 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 Azure Database Migration Service.

  2. Dalam hasil pencarian, pilih instans DMS yang Anda buat, lalu pilih + Proyek Migrasi Baru.

    Cuplikan layar CPilih proyek migrasi baru.

  3. Pada halaman Proyek migrasi baru, tentukan nama untuk proyek, dalam kotak pilihan Jenis server sumber, pilih Azure Database For MySQL – Server Tunggal, dalam kotak pilihan Jenis server target, pilih Azure Database For MySQL, dalam kotak pilihan Jenis aktivitas migrasi, pilih Migrasi offline, lalu pilih Buat dan jalankan aktivitas.

    Memilih Buat proyek hanya karena jenis aktivitas migrasi hanya akan membuat proyek migrasi; Anda kemudian dapat menjalankan proyek migrasi di lain waktu.

    Cuplikan layar Buat proyek migrasi baru.

Mengonfigurasi proyek migrasi

Untuk mengonfigurasi proyek migrasi DMS Anda, lakukan langkah-langkah berikut.

  1. Untuk melanjutkan migrasi offline, sebelum Mengonfigurasi Pilih sumber di layar, buka tab jendela baru dan navigasikan ke halaman gambaran umum server sumber Anda di portal Azure dan lanjutkan ke bilah Parameter Server. Konfigurasikan nilai parameter server read_only untuk server sumber sebagai AKTIF .

    Mengatur server sumber untuk membaca mode baca saja dengan memperbarui parameter server sebelum memulai migrasi mencegah operasi Tulis/Hapus pada server sumber selama migrasi, yang memastikan integritas data database target saat sumber dimigrasikan.

    Sebagai alternatif, jika Anda melakukan migrasi online, Anda akan memilih kotak centang Aktifkan Konsistensi Transaksional pada layar Pilih sumber. Untuk informasi selengkapnya tentang pencadangan yang konsisten, lihat MySQL ke Azure Database for MySQL Data Migration - MySQL Consistent Snapshot.

  2. Navigasi kembali ke layar konfigurasi proyek migrasi Anda dan pada layar Pilih sumber , tentukan detail koneksi untuk instans MySQL sumber.

    Cuplikan layar Tambahkan detail sumber.

  3. Pilih Berikutnya : Pilih target>>, lalu, pada layar Pilih target , tentukan detail koneksi untuk server fleksibel target.

    Cuplikan layar Pilih target.

  4. Pilih Berikutnya : Pilih database>>, lalu, pada tab Pilih database, di bawah [Pratinjau] Pilih objek server, pilih objek server yang ingin Anda migrasikan.

    Cuplikan layar Pilih database.

  5. Di bagian Pilih database , di bawah Database Sumber, pilih database yang akan dimigrasikan.

    Objek non-tabel dalam database yang Anda tentukan akan dimigrasikan, sementara item yang tidak Anda pilih akan dilewati.

  6. Pilih Berikutnya : Pilih database>> untuk menavigasi ke tab Pilih tabel .

    Sebelum tab terisi, DMS mengambil tabel dari database yang dipilih pada sumber dan target lalu menentukan apakah tabel ada dan berisi data.

  7. Pilih tabel yang ingin Anda migrasikan.

    Jika Anda memilih tabel dalam database sumber yang tidak ada di database target, kotak di bawah Skema Migrasi dipilih secara default. Untuk tabel yang memang ada di database target, catatan menunjukkan bahwa tabel yang dipilih sudah berisi data dan akan dipotong. Selain itu, jika skema tabel di server target tidak cocok dengan skema pada sumbernya, tabel akan dihilangkan sebelum migrasi berlanjut.

    Cuplikan layar Pilih Tabel.

    DMS memvalidasi input Anda, dan jika validasi lolos, Anda akan dapat memulai migrasi.

  8. Setelah mengonfigurasi migrasi skema, pilih Tinjau dan mulai migrasi.

    Catatan

    Anda hanya perlu menavigasi ke tab Konfigurasi pengaturan migrasi jika Anda mencoba memecahkan masalah migrasi yang gagal.

  9. Pada tab Ringkasan , dalam kotak teks Nama aktivitas, tentukan nama untuk aktivitas migrasi, lalu tinjau ringkasan untuk memastikan bahwa detail sumber dan target cocok dengan apa yang Anda tentukan sebelumnya.

    Cuplikan layar Pilih Ringkasan.

  10. Pilih Mulai migrasi.

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

Memantau migrasi

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

  2. Untuk melihat status setiap tabel selama migrasi, pilih nama database lalu pilih Refresh untuk memperbarui tampilan.

  3. Pilih Refresh untuk memperbarui tampilan hingga Status migrasi ditampilkan sebagai Selesai.

    Cuplikan layar Status Migrasi.

Melakukan aktivitas pascamigrasi

Setelah migrasi selesai, pastikan untuk menyelesaikan aktivitas pascamigrasi berikut.

  • Melakukan pengujian perubahan aplikasi terhadap basis data target untuk menjamin keberhasilan migrasi.

  • Perbarui string koneksi untuk menunjuk ke server fleksibel target baru.

  • Hapus server tunggal sumber setelah Anda memastikan kelangsungan aplikasi.

  • Jika Anda meningkatkan skala server fleksibel target untuk migrasi yang lebih cepat, skalakan kembali dengan memilih ukuran komputasi 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 Mudah meledak Standard_B1s
    Dasar 2 Mudah meledak Standard_B2s
    Tujuan Umum 4 Tujuan Umum Standard_D4ds_v4
    Tujuan Umum 8 Tujuan Umum Standard_D8ds_v4
    • Bersihkan sumber daya Data Migration Service:

      1. Di portal Azure, pilih Semua layanan, cari Azure Database Migration Service, lalu pilih Azure Database Migration Services.
      2. Pilih instans layanan migrasi Anda dari hasil pencarian dan pilih Hapus layanan.
      3. Pada kotak dialog konfirmasi, di kotak teks KETIK NAMA LAYANAN MIGRASI DATABASE, tentukan nama layanan, lalu pilih Hapus.

Praktik terbaik migrasi

Saat melakukan migrasi, pastikan untuk mengingat praktik terbaik berikut.

  • Sebagai bagian dari penemuan dan penilaian, ambil SKU server, penggunaan CPU, penyimpanan, ukuran database, dan penggunaan ekstensi sebagai beberapa data penting untuk membantu migrasi.

  • Rencanakan mode migrasi untuk setiap database. Untuk migrasi yang kurang kompleks dan database yang lebih kecil, pertimbangkan mode migrasi offline.

  • Lakukan migrasi pengujian sebelum bermigrasi untuk produksi:

    • Migrasi pengujian penting untuk memastikan bahwa Anda mencakup semua aspek migrasi database, termasuk pengujian aplikasi. Jika Anda bermigrasi ke versi MySQL yang lebih tinggi, uji kompatibilitas aplikasi.
    • Setelah pengujian selesai, Anda dapat memigrasikan database produksi. Pada titik ini, Anda perlu memutuskan hari dan waktu migrasi produksi. Idealnya, ada penggunaan aplikasi yang rendah saat ini. Semua pemangku kepentingan yang perlu dilibatkan harus tersedia dan siap. Migrasi produksi akan memerlukan pemantauan ketat.
  • Alihkan semua aplikasi dependen untuk mengakses database utama baru dan membuka aplikasi untuk penggunaan produksi.

  • Setelah aplikasi mulai berjalan pada target server fleksibel target, pantau performa database dengan cermat untuk melihat apakah penyetelan performa diperlukan.