Memigrasikan Amazon RDS untuk MySQL ke Azure Database for MySQL menggunakan MySQL Workbench

BERLAKU UNTUKAzure Database for MySQL - Server Tunggal

Penting

Server tunggal Azure Database for MySQL berada di jalur penghentian. Kami sangat menyarankan Agar Anda meningkatkan ke server fleksibel Azure Database for MySQL. Untuk informasi selengkapnya tentang migrasi ke server fleksibel Azure Database for MySQL, lihat Apa yang terjadi pada Server Tunggal Azure Database for MySQL?

Anda dapat menggunakan berbagai utilitas, seperti MySQL Workbench Eksport/Impor, Azure Database Migration Service (DMS), dan MySQL cadangan dan pemulihan, untuk memigrasikan Amazon RDS untuk MySQL ke Azure Database for MySQL. Namun, menggunakan Wizard Migrasi MySQL Workbench menyediakan cara yang mudah dan nyaman untuk memindahkan database Amazon RDS untuk MySQL Anda ke Azure Database for MySQL.

Dengan Wizard Migrasi, Anda dapat dengan mudah memilih skema dan objek mana yang akan dimigrasikan. Ini juga memungkinkan Anda untuk melihat log server untuk mengidentifikasi kesalahan dan penyempitan secara real time. Akibatnya, Anda dapat mengedit dan memodifikasi tabel atau struktur database dan objek selama proses migrasi ketika kesalahan terdeteksi, lalu melanjutkan migrasi tanpa harus memulai ulang dari awal.

Catatan

Anda juga bisa menggunakan Wizard Migrasi untuk melakukan migrasi sumber lain, seperti Microsoft SQL Server, Oracle, PostgreSQL, MariaDB, dll., yang berada di luar cakupan artikel ini.

Prasyarat

Sebelum memulai proses migrasi, disarankan agar Anda memastikan bahwa beberapa parameter dan fitur dikonfigurasi dan disiapkan dengan benar, seperti yang dijelaskan di bawah ini.

  • Pastikan tataan Karakter dari database sumber dan target sama.

  • Atur batas waktu tunggu ke waktu yang wajar bergantung pada jumlah data atau beban kerja yang ingin Anda impor atau migrasikan.

  • Atur max_allowed_packet parameter ke jumlah yang wajar bergantung pada ukuran database yang ingin Anda impor atau migrasikan.

  • Verifikasi bahwa semua tabel Anda menggunakan InnoDB, karena Server Azure Database for MySQL hanya mendukung mesin Azure Storage InnoDB.

  • Menghapus, mengganti, atau memodifikasi semua pemicu, prosedur tersimpan, dan fungsi lain yang berisi pengguna root atau penentu pengguna super (Azure Database for MySQL tidak mendukung hak istimewa pengguna istimewa). Untuk mengganti penentu dengan nama pengguna admin yang menjalankan proses impor, jalankan perintah berikut:

    DELIMITER; ;/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`127.0.0.1`*/ /*!50003
    DELIMITER;
    /* Modified to */
    DELIMITER;
    /*!50003 CREATE*//*!50017 DEFINER=`AdminUserName`@`ServerName`*/ /*!50003
    DELIMITER;
    
    
  • Jika Fungsi Yang Ditentukan Pengguna (UDF) berjalan di server database Anda, Anda perlu menghapus hak istimewa untuk database mysql. Untuk menentukan apakah ada UDF yang berjalan di server Anda, gunakan kueri berikut:

    SELECT * FROM mysql.func;
    

    Jika Anda menemukan bahwa UDF sedang berjalan, Anda bisa menghilangkan UDF dengan menggunakan kueri berikut:

    DROP FUNCTION your_UDFunction;
    
  • Pastikan bahwa server tempat alat dijalankan, dan pada akhirnya lokasi ekspor, memiliki ruang disk yang cukup dan daya komputasi (vCores, CPU, dan Memori) untuk melakukan operasi ekspor, terutama ketika mengekspor database yang sangat besar.

  • Buat jalur antara instans lokal atau AWS dan Azure Database for MySQL jika beban kerja berada di belakang firewall atau lapisan keamanan jaringan lainnya.

Memulai proses migrasi

  1. Untuk memulai proses migrasi, masuk ke MySQL Workbench, lalu pilih ikon beranda.

  2. Di bilah navigasi sebelah kiri, pilih ikon Wizard Migrasi, seperti yang diperlihatkan pada cuplikan layar di bawah ini.

    MySQL Workbench start screen

    Halaman Gambaran Umum Wizard Migrasi ditampilkan, seperti yang diperlihatkan di bawah ini.

    MySQL Workbench Migration Wizard welcome page

  3. Tentukan apakah Anda memiliki pengandar ODBC untuk Server MySQL yang dipasang dengan memilih Buka Admin ODBC.

    Dalam kasus kami, pada tab Driver, Anda akan melihat bahwa sudah ada dua Server MYSQL pengandar ODBC yang terpasang.

    ODBC Data Source Administrator page

    Jika pengandar ODBC MySQL tidak dipasang, gunakan alat penginstal MySQL yang Anda gunakan untuk memasang MySQL Workbench untuk memasang driver. Untuk informasi selengkapnya tentang penginstalan pengandar ODBC MySQL, lihat sumber daya berikut ini:

  4. Tutup kotak dialog Admin Sumber Data ODBC, lalu lanjutkan dengan proses migrasi.

Mengonfigurasi parameter koneksi server database sumber

  1. Di halaman Gambaran umum, pilih Mulai Migrasi.

    Halaman Pilihan Sumber muncul. Gunakan halaman ini untuk memberikan informasi tentang RDBMS tempat Anda melakukan migrasi dan parameter untuk koneksi.

  2. Di bidang Sistem Database, pilih MySQL.

  3. Di bidang Koneksi Tersimpan, pilih salah satu pengaturan koneksi yang disimpan untuk RDBMS tersebut.

    Anda dapat menyimpan koneksi dengan menandai kotak centang di bagian bawah halaman dan memberikan nama preferensi Anda.

  4. Di bidang Metode Koneksi, pilih TCP/IP Standar.

  5. Di bidang Nama Host, tentukan nama server database sumber Anda.

  6. Di bidang Port, tentukan 3306, lalu masukkan nama pengguna dan kata sandi untuk menyambungkan ke server.

  7. Di bidang Database, masukkan nama database yang ingin Anda migrasikan jika Anda mengetahuinya; jika tidak, biarkan bidang ini kosong.

  8. Pilih Uji Koneksi untuk memeriksa koneksi ke instans Server MySQL Anda.

    Jika Anda telah memasukkan parameter yang benar, sebuah pesan muncul menunjukkan upaya koneksi yang berhasil.

    Source database connection parameters page

  9. Pilih Selanjutnya.

Mengonfigurasi parameter koneksi server database target

  1. Pada halaman Pilihan Target, atur parameter untuk menyambungkan ke instans Server MySQL target Anda menggunakan proses yang mirip dengan itu untuk mengatur koneksi ke server sumber.

  2. Untuk memverifikasi koneksi yang berhasil, pilih Uji Koneksi.

    Target database connection parameters page

  3. Pilih Selanjutnya.

Pilih skema yang akan dimigrasi

Wizard Migrasi akan berkomunikasi ke instans Server MySQL Anda dan mengambil daftar skema dari server sumber.

  1. Pilih Perlihatkan log untuk melihat operasi ini.

    Cuplikan layar di bawah ini menunjukkan bagaimana skema diambil dari server database sumber.

    Fetch schemas list page

  2. Pilih Berikutnya untuk memverifikasi bahwa semua skema berhasil diambil.

    Cuplikan layar di bawah ini menunjukkan daftar skema yang diambil.

    Schemas selection page

    Anda hanya bisa memigrasikan skema yang muncul dalam daftar ini.

  3. Pilih skema yang ingin Anda migrasikan, lalu pilih Selanjutnya.

Migrasi objek

Selanjutnya, tentukan objek yang ingin Anda migrasikan.

  1. Pilih Perlihatkan Pilihan, lalu, di bawah Objek yang Tersedia, pilih dan tambahkan objek yang ingin Anda migrasikan.

    Saat Anda telah menambahkan objek, ini akan muncul di bawah Objek untuk Dimigrasikan, seperti yang ditunjukkanpada cuplikan layar di bawah ini.

    Source objects selection page

    Dalam skenario ini, kami telah memilih semua objek tabel.

  2. Pilih Selanjutnya.

Mengedit data

Di bagian ini, Anda memiliki opsi untuk mengedit objek yang ingin Anda migrasikan.

  1. Pada halaman Pengeditan Manual, perhatikan Tampilan menu menurun di sudut kanan atas.

    Manual Editing selection page

    Tampilankotak menurun menyertakan tiga item:

    • Semua Objek – Menampilkan semua objek. Dengan opsi ini, Anda dapat mengedit SQL yang dihasilkan secara manual sebelum menerapkannya ke server database target. Untuk melakukan ini, pilih objek dan pilih Perlihatkan Kode dan Pesan. Anda dapat melihat (dan mengedit!) kode MySQL yang dihasilkan yang sesuai dengan objek yang dipilih.
    • Masalah migrasi - Menampilkan masalah apa pun yang terjadi selama migrasi, yang dapat Anda tinjau dan verifikasi.
    • Pemetaan Kolom – Menampilkan informasi pemetaan kolom. Anda bisa menggunakan tampilan ini untuk mengedit nama dan mengubah kolom objek target.
  2. Pilih Selanjutnya.

Membuat database target

  1. Pilih kotak centang Buat skema dalam RDBMS target.

    Anda juga dapat memilih untuk menyimpan skema yang sudah ada, sehingga tidak akan dimodifikasi atau diperbarui.

    Target Creation Options page

    Dalam artikel ini, kami telah memilih untuk membuat skema di RDBMS target, tetapi Anda juga dapat memilih kotak centang Buat file skrip SQL untuk menyimpan file di komputer lokal Anda atau untuk tujuan lain.

  2. Pilih Selanjutnya.

Menjalankan skrip MySQL untuk membuat objek database

Karena kami telah memilih untuk membuat skema di RDBMS target, skrip SQL yang dimigrasikan akan dijalankan di server MySQL target. Anda dapat melihat kemajuannya seperti yang ditunjukkan pada cuplikan layar di bawah ini:

Create Schemas page

  1. Setelah pembuatan skema dan objeknya selesai, pilih Berikutnya.

    Pada halaman Buat Hasil Target, Anda disajikan dengan daftar objek yang dibuat dan pemberitahuan tentang kesalahan yang ditemui saat membuatnya, seperti yang diperlihatkan dalam cuplikan layar berikut ini.

    Create Target Results page

  2. Tinjau detail di halaman ini untuk memverifikasi bahwa semuanya selesai sebagaimana mestinya.

    Untuk artikel ini, kami tidak memiliki kesalahan. Jika tidak perlu membahas pesan kesalahan apa pun, Anda dapat mengedit skrip migrasi.

  3. Dalam kotak Objek, pilih objek yang ingin Anda edit.

  4. Di bawah SQL CREATE script untuk objek yang dipilih, ubah skrip SQL Anda, lalu pilihTerapkan untuk menyimpan perubahan.

  5. Pilih Buat Ulang Objek untuk menjalankan skrip termasuk perubahan Anda.

    Jika skrip gagal, Anda mungkin perlu mengedit skrip yang dihasilkan. Anda kemudian dapat memperbaiki skrip SQL secara manual dan menjalankan semuanya lagi. Dalam artikel ini, kami tidak mengubah apa pun, jadi kami akan meninggalkan skrip apa adanya.

  6. Pilih Selanjutnya.

Transfer data

Bagian dari proses ini memindahkan data dari sumber instans DB Server MySQL ke instans DB MySQL target yang baru dibuat. Gunakan halaman Persiapan Transfer Data untuk mengonfigurasikan proses ini.

Data Transfer Setup page

Halaman ini menyediakan opsi untuk menyiapkan transfer data. Untuk tujuan dari artikel ini, kami akan menerima nilai default.

  1. Untuk memulai proses transfer data yang sebenarnya, pilih Berikutnya.

    Kemajuan proses transfer data muncul seperti yang ditunjukkan pada cuplikan layar berikut.

    Bulk Data Transfer page

    Catatan

    Durasi proses transfer data terkait langsung dengan ukuran database yang Anda migrasikan. Semakin besar database sumber, semakin lama proses akan berlangsung, berpotensi hingga beberapa jam untuk database yang lebih besar.

  2. Setelah transfer selesai, pilih Berikutnya.

    Halaman Laporan Migrasi muncul, menyediakan laporan yang meringkas seluruh proses, seperti yang diperlihatkan pada cuplikan layar di bawah ini:

    Migration Progress Report page

  3. Pilih Selesai untuk menutup Wizard Migrasi.

    Migrasi sekarang berhasil diselesaikan.

Memverifikasi konsistensi skema dan tabel yang dimigrasikan

  1. Selanjutnya, masuk ke instans DB target MySQL Anda untuk memverifikasi bahwa skema dan tabel yang dimigrasikan konsisten dengan database sumber MySQL Anda.

    Dalam kasus kami, Anda dapat melihat bahwa semua skema (sakila, moda, item, pelanggan, pakaian, dunia, dan world_x) dari Amazon RDS untuk MySQL: database MyjolieDB telah berhasil dimigrasikan ke Azure Database for MySQL: instans azmysql.

  2. Untuk memverifikasi jumlah tabel dan baris, jalankan kueri berikut pada kedua instans:

    SELECT COUNT (*) FROM sakila.actor;

    Anda dapat melihat dari cuplikan layar di bawah ini bahwa jumlah baris untuk Amazon RDS MySQL adalah 200, yang cocok dengan instans Azure Database for MySQL.

    Table and Row size source database

    Table and Row size target database

    Meskipun Anda dapat menjalankan kueri di atas pada setiap skema dan tabel tunggal, itu akan menjadi sedikit pekerjaan jika Anda berhadapan dengan ratusan ribu atau bahkan jutaan tabel. Anda bisa menggunakan kueri di bawah ini untuk memverifikasi skema (database) dan ukuran tabel sebagai gantinya.

  3. Untuk memeriksa ukuran database, jalankan kueri berikut ini:

    SELECT table_schema AS "Database", 
    ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size (MB)" 
    FROM information_schema.TABLES 
    GROUP BY table_schema;
    
  4. Untuk memeriksa ukuran tabel, jalankan kueri berikut ini:

    SELECT table_name AS "Table",
    ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size (MB)"
    FROM information_schema.TABLES
    WHERE table_schema = "database_name"
    ORDER BY (data_length + index_length) DESC;
    

    Anda lihat dari cuplikan layar di bawah ukuran skema (database) dari instans Sumber Amazon RDS MySQL sama dengan target Instans Azure Database for MySQL.

    Database size source database

    Database size target database

    Karena ukuran skema (database) sama dalam kedua instans, tidak perlu memeriksa ukuran tabel individual. Bagaimanapun, Anda selalu bisa menggunakan kueri di atas untuk memeriksa ukuran tabel Anda, jika perlu.

    Sekarang Anda telah mengonfirmasi bahwa migrasi Anda berhasil diselesaikan.

Langkah berikutnya