Memigrasikan Amazon RDS untuk MySQL ke Azure Database for MySQL menggunakan MySQL Workbench
BERLAKU UNTUK: Azure 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
Untuk memulai proses migrasi, masuk ke MySQL Workbench, lalu pilih ikon beranda.
Di bilah navigasi sebelah kiri, pilih ikon Wizard Migrasi.
Halaman Gambaran Umum Wizard Migrasi ditampilkan.
Tentukan apakah Anda memiliki pengandar ODBC untuk Server MySQL yang dipasang dengan memilih Buka Admin ODBC.
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:
Tutup kotak dialog Admin Sumber Data ODBC, lalu lanjutkan dengan proses migrasi.
Mengonfigurasi parameter koneksi server database sumber
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.
Di bidang Sistem Database, pilih MySQL.
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.
Di bidang Metode Koneksi, pilih TCP/IP Standar.
Di bidang Nama Host, tentukan nama server database sumber Anda.
Di bidang Port, tentukan 3306, lalu masukkan nama pengguna dan kata sandi untuk menyambungkan ke server.
Di bidang Database, masukkan nama database yang ingin Anda migrasikan jika Anda mengetahuinya; jika tidak, biarkan bidang ini kosong.
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.
Pilih Selanjutnya.
Mengonfigurasi parameter koneksi server database target
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.
Untuk memverifikasi koneksi yang berhasil, pilih Uji Koneksi.
Pilih Selanjutnya.
Pilih skema yang akan dimigrasi
Wizard Migrasi akan berkomunikasi ke instans Server MySQL Anda dan mengambil daftar skema dari server sumber.
Pilih Perlihatkan log untuk melihat operasi ini. Halaman Ambil Daftar Skema memperlihatkan bagaimana skema diambil dari server database sumber.
Pilih Berikutnya untuk memverifikasi bahwa semua skema berhasil diambil. Halaman Pilihan Skema memperlihatkan daftar skema yang diambil. Anda hanya bisa memigrasikan skema yang muncul dalam daftar ini.
Pilih skema yang ingin Anda migrasikan, lalu pilih Selanjutnya.
Migrasi objek
Selanjutnya, tentukan objek yang ingin Anda migrasikan.
Pilih Perlihatkan Pilihan, lalu, di bawah Objek yang Tersedia, pilih dan tambahkan objek yang ingin Anda migrasikan. Saat Anda menambahkan objek, objek tersebut akan muncul di bawah Objek untuk Dimigrasikan.
Pilih Selanjutnya.
Mengedit data
Di bagian ini, Anda memiliki opsi untuk mengedit objek yang ingin Anda migrasikan.
Pada halaman Pengeditan Manual, ada menu dropdown Tampilan di sudut kanan atas.
Menu dropdown Tampilan mencakup 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.
Pilih Selanjutnya.
Membuat database target
Pilih kotak centang Buat skema dalam RDBMS target.
Anda juga dapat memilih untuk menyimpan skema yang sudah ada, sehingga tidak akan dimodifikasi atau diperbarui.
Anda dapat membuat skema di target RDBMS, tetapi Anda juga dapat memilih kotak centang Buat file skrip SQL untuk menyimpan file di komputer lokal Anda atau untuk tujuan lain.
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.
Setelah pembuatan skema dan objeknya selesai, pilih Berikutnya.
Pada halaman Buat Hasil Target, Anda disajikan dengan daftar objek yang dibuat dan pemberitahuan kesalahan apa pun yang ditemui saat membuatnya.
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.
Dalam kotak Objek, pilih objek yang ingin Anda edit.
Di bawah SQL CREATE script untuk objek yang dipilih, ubah skrip SQL Anda, lalu pilihTerapkan untuk menyimpan perubahan.
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.
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.
Halaman ini menyediakan opsi untuk menyiapkan transfer data. Untuk tujuan dari artikel ini, kami akan menerima nilai default.
Untuk memulai proses transfer data yang sebenarnya, pilih Berikutnya. Ada bilah kemajuan untuk transfer data.
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.
Setelah transfer selesai, pilih Berikutnya.
Halaman Laporan Migrasi muncul, memberikan laporan yang meringkas seluruh proses.
Pilih Selesai untuk menutup Wizard Migrasi.
Migrasi sekarang berhasil diselesaikan.
Memverifikasi konsistensi skema dan tabel yang dimigrasikan
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.
Untuk memverifikasi jumlah tabel dan baris, jalankan kueri berikut pada kedua instans:
SELECT COUNT (*) FROM sakila.actor;
Jumlah baris yang diharapkan untuk Amazon RDS MySQL adalah 200, yang cocok dengan instans Azure Database for MySQL.
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.
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;
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;
Ukuran skema (database) dari instans Amazon RDS MySQL Sumber harus sama dengan azure Database for MySQL Instance target.
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
- Untuk informasi selengkapnya tentang memigrasikan database ke Azure Database for MySQL, lihat Panduan Migrasi Database.
- Lihat video Cara mudah memigrasikan aplikasi MySQL / PostgreSQL ke layanan terkelola Azure, yang berisi demo tampilan cara memigrasikan aplikasi MySQL ke Azure Database for MySQL.