Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Impor Azure Database for MySQL untuk migrasi eksternal memungkinkan Anda memigrasikan beban kerja MySQL lokal atau Komputer Virtual (VM) dengan mulus ke Azure Database for MySQL - Server Fleksibel. Ini menggunakan file cadangan fisik yang disediakan pengguna dan memulihkan file data fisik server sumber ke server target, menawarkan jalur migrasi yang sederhana dan cepat. Operasi pasca-impor, Anda dapat memanfaatkan manfaat server fleksibel, yang mencakup harga dan performa yang lebih baik, kontrol terperinci atas konfigurasi database, dan jendela pemeliharaan kustom.
Berdasarkan input pengguna, dibutuhkan tanggung jawab untuk menyediakan server fleksibel target Anda dan kemudian memulihkan cadangan fisik yang disediakan pengguna dari server sumber yang disimpan di akun penyimpanan Azure Blob ke instans Server Fleksibel target.
Tutorial ini menunjukkan cara menggunakan perintah Azure Database for MySQL Import CLI untuk memigrasikan beban kerja Migrasi MySQL lokal atau Komputer Virtual (VM) Anda ke Azure Database for MySQL - Server Fleksibel.
Meluncurkan Azure Cloud Shell
Azure Cloud Shell adalah shell interaktif gratis yang dapat Anda gunakan untuk menjalankan langkah-langkah dalam artikel ini. Shell ini memiliki alat Azure umum yang telah dipasang sebelumnya dan dikonfigurasi untuk digunakan dengan akun Anda.
Untuk membuka Cloud Shell, pilih Coba dari sudut kanan atas blok kode. Anda juga dapat membuka Cloud Shell di tab browser terpisah dengan membuka https://shell.azure.com/bash. Pilih Salin untuk menyalin blok kode, tempelkan ke Cloud Shell, lalu pilih Masukkan untuk menjalankannya.
Jika Anda lebih suka menginstal dan menggunakan CLI secara lokal, tutorial ini memerlukan Azure CLI versi 2.54.0 atau yang lebih baru. Jalankan az --version untuk mencari tahu versinya. Jika Anda perlu memasang atau meningkatkan, lihat Memasang Azure CLI.
Siapkan
Anda harus masuk ke akun Anda menggunakan perintah az sign-in . Perhatikan properti id, yang mengacu pada ID Langganan akun Azure Anda.
az login
Pilih langganan tertentu di bawah akun Tempat Anda ingin menyebarkan Server Fleksibel target menggunakan perintah az account set . Perhatikan nilai id dari output masuk az untuk digunakan sebagai nilai untuk argumen langganan dalam perintah . Untuk mendapatkan semua langganan Anda, gunakan az account list.
az account set --subscription <subscription id>
Prasyarat
Server sumber harus memiliki parameter berikut:
- Lower_case_table_names = 1
- Innodb_file_per_table = AKTIF
- Nama ruang tabel sistem harus ibdata1.
- Ukuran ruang tabel sistem harus lebih besar dari atau sama dengan 12 MB. (Default MySQL)
- Innodb_page_size = 16348 (Default MySQL)
- Hanya mesin INNODB yang didukung.
Ambil cadangan fisik beban kerja MySQL Anda menggunakan Percona XtraBackup. Berikut ini adalah langkah-langkah untuk menggunakan Percona XtraBackup untuk mengambil cadangan penuh:
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] (https://docs.percona.com/percona-xtrabackup/8.0/create-full-backup.html). 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 saat mengambil Percona XtraBackup:
- Pastikan Anda menjalankan langkah pencadangan dan persiapan.
- Pastikan tidak ada kesalahan dalam langkah pencadangan dan persiapan.
- Simpan pencadangan dan siapkan log langkah untuk Dukungan Azure, yang diperlukan jika terjadi kegagalan.
Penting
Mencoba mengakses tabel rusak yang diimpor dari server sumber dapat menyebabkan server fleksibel mengalami crash. Akibatnya, sebelum mengambil cadangan menggunakan utilitas Percona XtraBackup, sangat disarankan untuk melakukan operasi "mysqlcheck / Optimize Table" di 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 . Salin dan tempel token Blob SAS dan nilai URL di lokasi yang aman. Mereka hanya ditampilkan sekali dan tidak dapat diambil setelah jendela ditutup.
Unggah file cadangan lengkap di {backup_dir_path} ke penyimpanan Azure Blob Anda. Ikuti langkah-langkah ini untuk mengunggah file.
Untuk melakukan migrasi online, ambil dan simpan posisi bin-log file cadangan yang diambil menggunakan Percona XtraBackup dengan menjalankan perintah xtrabackup_info kucing dan menyalin output pos bin_log.
Akun penyimpanan Azure harus dapat diakses secara publik menggunakan token SAS. Akun penyimpanan Azure dengan konfigurasi jaringan virtual tidak didukung.
Batasan
- Konfigurasi server sumber tidak dimigrasikan. Anda harus mengonfigurasi server Fleksibel target dengan tepat.
- Migrasi untuk cadangan terenkripsi tidak didukung.
- Pengguna dan hak istimewa tidak dimigrasikan sebagai bagian dari Impor Azure Database for MySQL. Anda harus mengambil cadangan manual pengguna dan hak istimewa sebelum memulai Impor Azure Database for MySQL untuk memigrasikan masuk pasca operasi impor dengan memulihkannya di Server Fleksibel target.
- user1@localhost tidak dapat dimigrasikan karena kami tidak mendukung pembuatan pengguna localhost di Server Fleksibel.
- Server Fleksibel berkemampuan Ketersediaan Tinggi (HA) dikembalikan sebagai server yang dinonaktifkan HA untuk meningkatkan kecepatan operasi migrasi pasca migrasi impor. Aktifkan KETERSEDIAAN UNTUK Server Fleksibel target Anda pascamigrasi.
Rekomendasi untuk pengalaman migrasi yang optimal
- Pertimbangkan untuk menjaga akun penyimpanan Azure Blob dan Server Fleksibel target untuk disebarkan di wilayah yang sama untuk performa impor yang lebih baik.
- Konfigurasi SKU yang direkomendasikan untuk target Azure Database for MySQL Flexible Server –
- Mengatur SKU burstable untuk target tidak disarankan untuk mengoptimalkan waktu migrasi saat menjalankan operasi Impor Azure Database for MySQL. Kami merekomendasikan penskalaan ke Tujuan Umum/ Bisnis Penting untuk operasi impor, posting, yang dapat Anda turunkan skalanya ke SKU yang Dapat Meledak.
Memicu operasi Impor Azure Database for MySQL untuk bermigrasi dari Azure Database for MySQL -Server Fleksibel
Picu operasi Impor Azure Database for MySQL dengan az mysql flexible-server import create perintah . Perintah berikut membuat Server Fleksibel target dan melakukan impor tingkat instans dari file cadangan ke tujuan target menggunakan konteks lokal Azure CLI Anda:
az mysql flexible-server import create --data-source-type
--data-source
--data-source-sas-token
--resource-group
--name
--sku-name
--tier
--version
--location
[--data-source-backup-dir]
[--storage-size]
[--mode]
[--admin-password]
[--admin-user]
[--auto-scale-iops {Disabled, Enabled}]
[--backup-identity]
[--backup-key]
[--backup-retention]
[--database-name]
[--geo-redundant-backup {Disabled, Enabled}]
[--high-availability {Disabled, SameZone, ZoneRedundant}]
[--identity]
[--iops]
[--key]
[--private-dns-zone]
[--public-access]
[--resource-group]
[--standby-zone]
[--storage-auto-grow {Disabled, Enabled}]
[--subnet]
[--subnet-prefixes]
[--tags]
[--vnet]
[--zone]
The following example takes in the data source information for your source MySQL server's backup file and target Flexible Server information, creates a target Flexible Server named `test-flexible-server` in the `westus` location and performs an import from backup file to target.
azurecli-interactive
az mysql flexible-server import create --data-source-type "azure_blob" --data-source "https://onprembackup.blob.core.windows.net/onprembackup" --data-source-backup-dir "mysql_backup_percona" –-data-source-token "{sas-token}" --resource-group "test-rg" --name "test-flexible-server" –-sku-name Standard_D2ds_v4 --tier GeneralPurpose –-version 5.7 -–location "westus"
Berikut adalah detail untuk argumen di atas:
| Pengaturan | Nilai sampel | Deskripsi |
|---|---|---|
| jenis sumber data | azure_blob | Jenis sumber data yang berfungsi sebagai tujuan sumber untuk memicu Impor Azure Database for MySQL. Nilai yang diterima: [azure_blob]. Deskripsi nilai yang diterima- azure_blob: Penyimpanan Azure Blob. |
| sumber data | {resourceID} | ID sumber daya kontainer Azure Blob. |
| data-source-backup-dir | mysql_percona_backup | Direktori kontainer penyimpanan Azure Blob tempat file cadangan diunggah. Nilai ini diperlukan hanya ketika file cadangan tidak disimpan di folder akar kontainer Azure Blob. |
| data-source-sas-token | {sas-token} | Token Tanda Tangan Akses Bersama (SAS) yang dihasilkan untuk memberikan akses ke impor dari kontainer penyimpanan Azure Blob. |
| grup sumber daya | test-rg | Nama grup sumber daya Azure dari Target Azure Database for MySQL Flexible Server. |
| mode | Offline | Mode impor Azure Database for MySQL. Nilai yang diterima: [Offline]; Nilai default: Offline. |
| lokasi | westus | Lokasi Azure untuk Sumber Azure Database for MySQL Flexible Server. |
| nama | test-flexible-server | Masukkan nama unik untuk Server Fleksibel Azure Database for MySQL target Anda. Nama server hanya boleh berisi huruf kecil, angka, dan karakter tanda hubung (-). Nama tersebut harus berisi 3 hingga 63 karakter. Catatan: Server ini disebarkan dalam langganan, grup sumber daya, dan wilayah yang sama dengan sumbernya. |
| admin-user | adminuser | Nama pengguna untuk masuk administrator untuk Server Fleksibel Azure Database for MySQL target Anda. Nama pengguna tidak boleh azure_superuser, admin, administrator, root, guest , atau public. |
| kata-sandi admin | *kata sandi- | Kata sandi pengguna administrator untuk Server Fleksibel Azure Database for MySQL target Anda. Kata sandi harus terdiri antara 8 dan 128 karakter. Kata sandi Anda harus berisi karakter dari tiga kategori: Huruf besar bahasa Inggris, huruf kecil bahasa Inggris, angka, dan karakter non-infanumerik. |
| nama sku | GP_Gen5_2 | Masukkan nama tingkat harga dan konfigurasi komputasi untuk Server Fleksibel Azure Database for MySQL target Anda. Mengikuti konvensi {tingkat harga}{compute generation}{vCores} secara singkat. Untuk informasi selengkapnya, lihat tingkat harga. |
| tingkat | Mudah meledak | Tingkat komputasi target Azure Database for MySQL Flexible Server. Nilai yang diterima: Burstable, GeneralPurpose, MemoryOptimized; Nilai default: Burstable. |
| akses publik | 0.0.0.0 | Menentukan akses publik untuk Server Fleksibel Azure Database for MySQL target. Masukkan satu atau rentang alamat IP yang akan disertakan dalam daftar IP yang diizinkan. Rentang alamat IP harus dipisahkan garis putus-putus dan tidak berisi spasi apa pun. Menentukan 0.0.0.0 memungkinkan akses publik dari sumber daya apa pun yang disebarkan dalam Azure untuk mengakses server Anda. Mengaturnya ke "Tidak Ada" mengatur server dalam mode akses publik tetapi tidak membuat aturan firewall. |
| Jaringan virtual | myVnet | Nama atau ID jaringan virtual baru atau yang sudah ada. Jika Anda ingin menggunakan jaringan virtual dari grup sumber daya atau langganan yang berbeda, berikan ID sumber daya. Nama harus antara 2 hingga 64 karakter. Nama harus dimulai dengan huruf atau angka, diakhir dengan huruf, angka, atau garis bawah, dan hanya boleh berisi huruf, angka, garis bawah, titik, atau tanda hubung. |
| subnet | mySubnet | Nama atau ID sumber daya subnet baru atau yang sudah ada. Jika Anda ingin menggunakan subnet dari grup sumber daya atau langganan yang berbeda, berikan ID sumber daya, bukan nama. Subnet didelegasikan ke flexibleServers. Setelah delegasi, subnet ini tidak dapat digunakan untuk jenis sumber daya Azure lainnya. |
| private-dns-zone | myserver.private.contoso.com | Nama atau ID zona dns privat baru atau yang sudah ada. Anda dapat menggunakan zona dns privat dari grup sumber daya yang sama, grup sumber daya yang berbeda, atau langganan yang berbeda. Jika Anda ingin menggunakan zona dari grup sumber daya atau langganan yang berbeda, berikan ID sumber daya. CLI membuat zona dns privat baru dalam grup sumber daya yang sama dengan jaringan virtual jika tidak disediakan oleh pengguna. |
| kunci | pengidentifikasi kunci testKey | ID sumber daya kunci keyvault utama untuk enkripsi data. |
| identitas | testIdentity | Nama atau ID sumber daya identitas yang ditetapkan pengguna untuk enkripsi data. |
| ukuran penyimpanan | 32 | Kapasitas penyimpanan target Azure Database for MySQL Flexible Server. Minimumnya adalah 20 GiB, dan maks adalah 16 TiB. |
| tag | key=value | Berikan nama grup sumber daya Azure. |
| version | 5.7 | Versi utama server dari target Azure Database for MySQL Flexible Server. |
| ketersediaan tinggi | ZoneRedundant | Aktifkan (ZoneRedundant atau SameZone) atau nonaktifkan fitur ketersediaan tinggi untuk Server Fleksibel Azure Database for MySQL target. Nilai yang diterima: Dinonaktifkan, SameZone, ZoneRedundant; Nilai default: Dinonaktifkan. |
| zona | 1 | Zona ketersediaan untuk menyediakan sumber daya. |
| zona siaga | 3 | Informasi zona ketersediaan server siaga saat Ketersediaan tinggi diaktifkan. |
| storage-auto-grow | Diaktifkan | Aktifkan atau nonaktifkan pertumbuhan penyimpanan otomatis untuk Server Fleksibel Azure Database for MySQL target. Nilai default diaktifkan. Nilai yang diterima: Dinonaktifkan, Diaktifkan; Nilai default: Diaktifkan. |
| iops | 500 | Jumlah IOPS yang akan dialokasikan untuk Server Fleksibel Azure Database for MySQL target. Anda mendapatkan sejumlah IOPS gratis berdasarkan komputasi dan penyimpanan yang disediakan. Nilai default untuk IOPS adalah IOPS gratis. Untuk mempelajari selengkapnya tentang IOPS berdasarkan komputasi dan penyimpanan, lihat IOPS di Azure Database for MySQL Flexible Server. |
Migrasi ke Server Fleksibel dengan waktu henti minimal
Untuk melakukan migrasi online setelah menyelesaikan penyemaian awal dari file cadangan menggunakan impor Azure Database for MySQL, Anda dapat mengonfigurasi replikasi data-in antara sumber dan target dengan mengikuti langkah-langkah di sini. Anda dapat menggunakan posisi bin-log yang diambil saat mengambil file cadangan menggunakan Percona XtraBackup untuk menyiapkan replikasi berbasis posisi bin-log.
Berapa lama waktu yang dibutuhkan Impor Azure Database for MySQL untuk memigrasikan instans MySQL saya?
Performa yang ditolok ukur berdasarkan ukuran penyimpanan.
| Ukuran Penyimpanan file cadangan | Waktu impor |
|---|---|
| 1 GiB | 0 menit 23 detik |
| 10 GiB | 4 menit 24 detik |
| 100 GiB | 10 menit 29 detik |
| 500 GiB | 13 menit 15 detik |
| 1 TB | 22 menit 56 detik |
| 10 TB | 2 jam 5 menit 30 detik |
Ketika ukuran penyimpanan meningkat, waktu yang diperlukan untuk penyalinan data juga meningkat, hampir dalam hubungan linier. Namun, penting untuk dicatat bahwa fluktuasi jaringan dapat secara signifikan memengaruhi kecepatan penyalinan. Oleh karena itu, data yang disediakan di sini harus diambil sebagai referensi saja.