Bagikan melalui


Tutorial: Bermigrasi dari MySQL ke Azure Database for MySQL menggunakan migrasi fisik DMS dengan portal Microsoft Azure (Pratinjau)

Nota

Artikel ini berisi referensi ke istilah budak, istilah yang tidak lagi digunakan Microsoft. Saat istilah dihapus dari perangkat lunak, kami akan menghapusnya dari artikel ini.

Dengan menggunakan file cadangan fisik, Anda dapat memigrasikan beban kerja MySQL lokal atau Komputer Virtual (VM) Anda dengan lancar di Azure atau layanan cloud lainnya ke Azure Database for MySQL. Dengan file cadangan fisik, Anda dapat dengan cepat memulihkan server sumber Anda ke instans server fleksibel target dengan waktu henti minimal. Dalam tutorial ini, kami menunjukkan kepada Anda cara menggunakan Azure DMS untuk memigrasikan beban kerja MySQL dari lokal atau VM ke Azure Database for MySQL dengan waktu henti minimal menggunakan Percona XtraBackup.

Nota

DMS migrasi data online fisik sekarang dalam pratinjau publik. DMS mendukung migrasi ke MySQL versi 5.7 dan 8.0 dan migrasi dari server MySQL versi lebih rendah (v5.6 dan yang lebih tinggi) ke server MySQL versi yang lebih tinggi. Selain itu, DMS mendukung migrasi lintas wilayah, grup lintas sumber daya, dan lintas langganan.

Dalam tutorial ini, Anda akan belajar cara:

  • Buat dan konfigurasikan server MySQL sumber, server fleksibel target, dan layanan lain yang diperlukan.
  • Buat instans DMS.
  • Buat proyek migrasi MySQL untuk migrasi fisik di DMS.
  • Menjalankan migrasi.
  • Pantau migrasi.
  • Melakukan aktivitas pascamigrasi.
  • Terapkan praktik terbaik untuk melakukan migrasi.

Prasyarat

Untuk menyelesaikan tutorial ini, Anda perlu:

  • Membuat atau menggunakan instans MySQL yang ada (server sumber, baik lokal atau di VM di Azure atau cloud lainnya).

  • Untuk menyelesaikan migrasi online dengan sukses, pastikan prasyarat berikut diberlakukan di server MySQL sumber:

    • Pastikan parameter lower_case_table_names diatur ke 1.
    • Pastikan parameter innodb_file_per_table diatur ke AKTIF
    • Ruang tabel sistem harus ibdata1.
    • Ukuran ibdata1 ruang tabel sistem harus lebih besar dari atau sama dengan 12MB (Default MySQL).
    • Pastikan parameter innodb_page_size diatur ke 16384 (Default MySQL)
    • Hanya mesin penyimpanan INNODB yang didukung.
    • Pastikan periode retensi binlog diatur dengan tepat menggunakan parameter binlog_expire_logs_seconds untuk menyelesaikan migrasi online.
    • Pastikan bahwa pengguna yang digunakan untuk migrasi memiliki izin "KLIEN REPLIKASI" dan "REPLICATION SLAVE" di server sumber untuk membaca dan menerapkan log bin.
  • Ambil cadangan fisik beban kerja MySQL Anda menggunakan Percona XtraBackup. Berikut ini adalah langkah-langkah untuk menggunakan Percona XtraBackup untuk mengambil cadangan lengkap:

    • Instal Percona XtraBackup pada beban kerja lokal atau VM. Untuk mesin MySQL versi v5.7, instal Percona XtraBackup versi 2.4, lihat Menginstal Percona XtraBackup 2.4. Untuk mesin MySQL versi v8.0, instal Percona XtraBackup versi 8.0, lihat Menginstal Percona XtraBackup 8.0.

    • Untuk instruksi untuk mengambil pencadangan penuh dengan Percona XtraBackup 2.4, lihat Pencadangan penuh. Untuk instruksi untuk mengambil pencadangan penuh dengan Percona XtraBackup 8.0, lihat Pencadangan penuh

    • Saat mengambil cadangan penuh, jalankan perintah di bawah ini secara berurutan:

      • xtrabackup --backup --host={host} --user={user} --password={password} --target-dir={backup__dir_path}
      • xtrabackup --prepare --{backup_dir_path} (Berikan jalur cadangan yang sama di sini seperti pada perintah sebelumnya)
    • Pertimbangan ketika menggunakan Percona XtraBackup:

      • Pastikan Anda menjalankan langkah-langkah pencadangan dan persiapan.
      • Pastikan tidak ada kesalahan dalam langkah pencadangan dan persiapan.
      • Simpan pencadangan dan persiapkan log langkah-langkah untuk Dukungan Azure, yang diperlukan jika terjadi kegagalan.

      Penting

      Mencoba mengakses tabel rusak yang diimpor dari server sumber dapat menyebabkan server fleksibel target mengalami crash. Akibatnya, sebelum mengambil cadangan menggunakan utilitas Percona XtraBackup, melakukan operasi "mysqlcheck / Optimize Table" di server sumber disarankan.

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

    • Pada server fleksibel target, atur max_allowed_packet ke 1073741824 (yaitu, 1GB) untuk mencegah masalah koneksi karena transfer data baris besar.
    • Atur parameter server sql_mode pada server fleksibel target agar sesuai dengan konfigurasi server sumber.
    • Atur versi TLS dan parameter server require_secure_transport agar sesuai dengan nilai server sumber.
    • Konfigurasikan parameter server pada server fleksibel target agar sesuai dengan nilai non-default yang digunakan pada server sumber.
  • Buat kontainer Azure Blob dan dapatkan Token Tanda Tangan Akses Bersama (SAS) (portal Azure atau Azure CLI) untuk kontainer. Pastikan Anda memberikan Tambahkan, Buat, dan Tulis di daftar dropdown Izin .

    Penting

    Simpan token SAS Blob dan nilai URL di lokasi yang aman. Mereka hanya ditampilkan sekali dan tidak dapat diambil setelah jendela ditutup.

  • Unggah file cadangan lengkap dari Percona Xtrabackup di {backup_dir_path} ke penyimpanan Azure Blob Anda. Ikuti langkah-langkah ini untuk mengunggah file.

  • DMS menggunakan posisi binlog yang ditangkap saat mengambil cadangan penuh dari file xtrabackup_binlog_info untuk secara otomatis memulai proses replikasi untuk migrasi downtime minimal.

  • Akun penyimpanan Azure harus dapat diakses secara publik menggunakan token SAS. Akun penyimpanan Azure dengan konfigurasi jaringan virtual tidak didukung.

  • Pendaftaran aplikasi perlu dibuat, dan kunci aplikasi yang menggunakan rahasia klien perlu dibuat untuk digunakan dalam alur kerja migrasi fisik. Aplikasi ini dapat digunakan dengan akun penyimpanan dan server fleksibel target untuk pembuatan kunci SAS dan pembaruan server.

  • Tetapkan penetapan peran Kontrol akses berbasis peran (RBAC) dengan pendaftaran aplikasi untuk akun penyimpanan dengan peran berikut.

    • Pembaca data blob penyimpanan untuk membaca file dalam kontainer blob.
  • Tetapkan peran Kontributor ke pendaftaran aplikasi pada server fleksibel MySQL target.

Keterbatasan

Saat Anda mempersiapkan migrasi, pertimbangkan batasan berikut.

Konfigurasi server sumber belum dimigrasikan. Anda harus mengonfigurasi server Fleksibel target dengan tepat sebelum memulai migrasi.

  • Migrasi untuk cadangan terenkripsi tidak didukung.
  • Pembatalan migrasi selama operasi impor tidak didukung.
  • Dukungan migrasi online terbatas pada format binlog ROW .
  • Azure Database for MySQL tidak mendukung database kasus campuran.
  • Pernyataan Azure DMS atau replikasi binlog tidak mendukung sintaks berikut: 'CREATE TABLE b as SELECT * FROM 'a';'. Replikasi DDL ini menghasilkan kesalahan berikut: "Hanya pernyataan BINLOG INSERT, COMMIT, dan ROLLBACK yang diizinkan setelah CREATE TABLE dengan pernyataan START TRANSACTION."
  • Durasi migrasi dipengaruhi oleh pemeliharaan komputasi pada backend, yang dapat mengatur ulang kemajuan.

Praktik terbaik untuk pemuatan data yang lebih cepat menggunakan DMS

DMS mendukung migrasi lintas wilayah, grup lintas sumber daya, dan lintas langganan, sehingga Anda dapat 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.

  • Untuk pengalaman migrasi yang optimal, Pilih ukuran komputasi dan tingkat komputasi untuk server fleksibel target berdasarkan konfigurasi server MySQL sumber.

    • Sebaiknya atur server fleksibel target ke SKU General-Purpose atau kritis bisnis selama migrasi. Setelah migrasi berhasil, Anda dapat menskalakan instans ke ukuran yang sesuai untuk memenuhi kebutuhan aplikasi Anda.
  • Versi MySQL dari server fleksibel target harus lebih besar dari atau sama dengan server MySQL sumber.

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

  • Pertimbangkan untuk menyebarkan penyimpanan blob Azure dan server fleksibel target di wilayah yang sama untuk performa yang lebih baik selama operasi impor.

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 akun Microsoft. Penyedia sumber daya dataMigration melakukan langkah-langkah berikut:

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

  2. Pilih langganan yang ingin Anda buat instans DMSnya, lalu pilih Penyedia sumber daya.

    Cuplikan layar Pilih Penyedia Sumber Daya.

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

    Cuplikan layar Daftarkan penyedia sumber daya Anda.

Membuat instans Database Migration Service (DMS)

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

    Cuplikan layar DMS di Azure Marketplace.

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

    Cuplikan layar buat dari Azure Marketplace.

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

  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, dan verifikasi bahwa Azure dipilih sebagai mode layanan.

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

    Cuplikan layar Pilih Konfigurasi Tingkat.

  7. Pilih tingkat harga Premium dengan 4 vCore untuk instans DMS Anda di halaman Konfigurasi lalu pilih Terapkan.

    Layanan DMS Premium 4-vCore tidak dikenakan biaya selama enam bulan (183 hari) sejak tanggal layanan DMS dibuat, sebelum biaya dikenakan. Untuk informasi selengkapnya tentang biaya dan tingkat harga DMS, lihat halaman harga.

    Cuplikan layar tingkat Pilih Harga.

    Selanjutnya, kita perlu menentukan jaringan virtual (jaringan virtual) yang menyediakan akses instans DMS ke server MySQL sumber dan server fleksibel target.

  8. Pada halaman Buat Layanan Migrasi, pilih >>.

  9. Pada tab Jaringan , pilih jaringan virtual yang ada dari daftar atau berikan nama jaringan virtual baru yang ingin Anda buat, lalu pilih Tinjau + Buat.

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

    Cuplikan layar dari opsi Pilih Jaringan.

    Jaringan virtual Anda harus dikonfigurasi dengan akses ke server MySQL sumber dan server fleksibel tujuan, dengan demikian, pastikan untuk:

    • Buat aturan firewall tingkat server untuk server MySQL sumber dan server fleksibel MySQL target untuk memungkinkan jaringan virtual untuk akses Azure Database Migration Service ke database sumber dan target.
    • Pastikan aturan Network Security Group (NSG) jaringan virtual Anda tidak memblokir port keluar ServiceTag 443 untuk ServiceBus, Storage, dan Azure Monitor. Untuk informasi selengkapnya tentang pemfilteran lalu lintas NSG jaringan virtual, lihat Memfilter lalu lintas jaringan dengan grup keamanan jaringan.

    Nota

    Untuk menambahkan tag ke layanan, lanjutkan ke tab Tag dengan memilih Berikutnya : Tag. Menambahkan tag ke layanan bersifat opsional.

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

    Cuplikan layar Pilih Tinjau+Buat.

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

  11. Pilih Pergi ke sumber daya.

    Cuplikan layar Pilih Pergi ke sumber daya.

  12. Identifikasi alamat IP instans DMS dari halaman gambaran umum sumber daya, buat aturan firewall untuk server MySQL sumber Anda, dan targetkan server fleksibel, izinkan daftar alamat IP instans DMS.

Membuat proyek migrasi

Untuk membuat proyek migrasi, lakukan langkah-langkah berikut.

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

    Cuplikan layar pencarian DMS.

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

    Cuplikan layar proyek migrasi yang sedang dibuat.

  3. Pada halaman Proyek migrasi baru , tentukan nama untuk proyek tersebut. Dalam kotak pilihan Jenis server sumber , pilih MySQL. Dalam kotak Pilihan jenis server target , pilih Azure Database For MySQL. Dalam kotak pilihan Jenis aktivitas migrasi , pilih [Pratinjau] Migrasi data online fisik. Lalu, pilih Buat dan jalankan aktivitas.

    Memilih Buat proyek hanya sebagai jenis aktivitas migrasi yang hanya membuat proyek migrasi; Anda kemudian dapat menjalankannya nanti.

    Cuplikan layar memilih aktivitas migrasi.

Mengonfigurasi proyek migrasi

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

  1. Pada layar Pilih sumber , kita harus memastikan bahwa DMS berada di jaringan virtual, yang memiliki konektivitas ke server sumber. Di sini Anda memasukkan nama server sumber, port server, nama pengguna, dan kata sandi ke server MySQL sumber Anda lalu pilih Berikutnya: Pilih target >>

    Cuplikan layar Tambahkan detail sumber.

  2. Pada layar Pilih target , di bawah pilihan Server otomatis, pilih Langganan, Lokasi, Grup sumber daya, nama server Azure Database for MySQL, nama pengguna, kata sandi untuk server Azure Database for MySQL target Anda dan pilih Berikutnya: Pilih cadangan >>

    Cuplikan layar target yang dipilih.

  3. Pada layar Pilih cadangan, masukkan ID aplikasi pendaftaran aplikasi, rahasia klien dari pendaftaran aplikasi, ID penyewa dari pendaftaran aplikasi, langganan, nama akun penyimpanan, nama kontainer blob, dan nama direktori cadangan tempat file percona xtrabackup disimpan dan pilih Berikutnya: Konfigurasikan pengaturan >>migrasi

    Sekarang ada opsi Migrasikan akun pengguna dan hak istimewa . Saat dipilih, opsi ini memigrasikan semua migrasi masuk. Selain itu, Anda dapat mereplikasi pernyataan DDL apa pun dari server MySQL sumber ke server fleksibel target.

    Cuplikan layar dari layar Pemilihan cadangan.

  4. Pada layar Konfigurasi pengaturan migrasi , jika Anda ingin mengkustomisasi pengaturan migrasi, pilih kotak centang atau lanjutkan ke halaman ringkasan dengan memilih Berikutnya: Ringkasan >>

    Cuplikan layar mengonfigurasi halaman pengaturan migrasi.

  5. Pada layar Ringkasan, dalam kotak teks Nama Aktivitas, tentukan nama untuk aktivitas migrasi. Pastikan semua detail terkait migrasi sudah benar, lalu pilih "Mulai Migrasi."

    Cuplikan layar ringkasan migrasi dan halaman detail.

  6. Setelah migrasi dimulai, jendela aktivitas migrasi muncul. Di bawah tab Muat Awal, status berubah menjadi Berjalan.

Memantau migrasi

  1. Saat migrasi dalam penerbangan, Anda dapat meninjau status migrasi dan melihat status seperti Mengimpor dan Memperkirakan waktu yang tersisa untuk penyerapan data file cadangan fisik ke server fleksibel MySQL target.

    Cuplikan layar halaman status migrasi.

    Setelah aktivitas Pemuatan Awal selesai, Anda telah secara otomatis menavigasi ke tab Replikasi Perubahan Data. Anda dapat memantau kemajuan migrasi saat layar direfresh secara otomatis setiap 30 detik atau memilih tombol Refresh.

  2. Setelah pengambilan data awal selesai, pantau bidang Detik di belakang sumber di bawah tab Replikasi Perubahan Data. Segera setelah mencapai 0, lanjutkan untuk memulai cutover dengan menavigasi ke tombol Mulai Cutover pada bagian atas layar aktivitas migrasi. Pilih Refresh untuk memperbarui tampilan dan melihat detik di belakang sumber saat diperlukan.

    Cuplikan layar memantau status replikasi.

  3. Sebelum Anda siap untuk melakukan cutover, ikuti langkah 1 sampai 3 di jendela cutover.

  4. Setelah menyelesaikan semua langkah, pilih Konfirmasi, lalu pilih Terapkan.

    Cuplikan layar cutover Perform.

Melakukan aktivitas pascamigrasi

Setelah migrasi selesai, pastikan untuk menyelesaikan aktivitas pascamigrasi berikut.

  • Lakukan validasi dan integrasi data terhadap database target untuk mensertifikasi penyelesaian migrasi menggunakan salah satu pendekatan yang disebutkan.

    • Anda dapat memvalidasi data dengan membandingkan jumlah baris atau checksum antara server fleksibel sumber dan target.

    • Anda juga dapat masuk ke server fleksibel target, di bawah pengaturan, pilih halaman Database , dan memverifikasi bahwa database yang dimaksudkan untuk migrasi telah berhasil dimigrasikan ke target.

      Cuplikan layar memvalidasi target migrasi.

  • Perbarui string koneksi untuk menunjuk ke server fleksibel baru.

    • Untuk membersihkan sumber daya DMS, lakukan langkah berikut:
    1. Di portal Microsoft Azure, pilih Semua layanan, cari Azure Database Migration Service, lalu pilih Azure Database Migration Services.

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

    3. Dalam kotak dialog konfirmasi, di kotak teks KETIK NAMA LAYANAN MIGRASI DATABASE , tentukan nama instans lalu pilih Hapus.

  • Buat replika baca apa pun untuk server fleksibel untuk skalabilitas dan pemulihan.

Praktik terbaik migrasi

Saat melakukan migrasi, pastikan untuk mempertimbangkan praktik terbaik berikut.

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

  • Lakukan migrasi pengujian sebelum bermigrasi untuk produksi:

    • Migrasi pengujian penting untuk memastikan Anda mencakup semua aspek migrasi database, termasuk pengujian aplikasi. Praktik terbaik adalah dengan mulai menjalankan migrasi sepenuhnya untuk tujuan pengujian. Setelah migrasi yang baru dimulai memasuki fase Replikasi Perubahan Data dengan jeda minimal, hanya gunakan target Server Fleksibel Anda untuk menjalankan beban kerja pengujian. Gunakan target tersebut untuk menguji aplikasi dan memastikan performa dan hasil yang diharapkan. Uji kompatibilitas aplikasi jika Anda bermigrasi ke versi MySQL yang lebih tinggi.

    • Setelah pengujian selesai, Anda dapat memigrasikan database produksi. Pada titik ini, Anda perlu menyelesaikan 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. Untuk migrasi online, replikasi harus diselesaikan sebelum Anda melakukan cutover untuk mencegah kehilangan data.

  • Arahkan ulang semua aplikasi dependen untuk mengakses database utama baru dan menjadikan server sumber baca-saja. Kemudian, buka aplikasi untuk penggunaan produksi.

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