CLI İçeri Aktarma'MySQL için Azure Veritabanı kullanarak şirket içi MySQL sunucusunu geçirme
Şirket içi MySQL sunucusunu MySQL için Azure Veritabanı esnek bir sunucuya geçirmenin zamanı geldi. Ağ ayarları kaynak ve hedef sunucular arasında doğrudan bağlantıyı engellediğinden çevrimdışı geçiş gerçekleştirmeye karar verdiniz. Aşağıdaki diyagramda yordamı özetler:
Önkoşullar
Kaynak sunucuda aşağıdaki ayarların yapılandırıldığından emin olun:
-
lower_case_table_names = 1 innodb_file_per_table = ON innodb_page_size = 16348 (MySQL Default) Sistem tablespace adı olmalıdır
ibdata1.Sistem tablo alanı boyutu 12 MB'tan büyük veya buna eşit olmalıdır. (MySQL Varsayılanı)
Yalnızca INNODB altyapısı desteklenir.
-
Bir Azure Blob depolama kapsayıcınız olması gerekir. Uygun bir kapsayıcınız yoksa bu hızlı başlangıç ile bir kapsayıcı oluşturun. Azure Blob kapsayıcısının paylaşılan erişim imzası (SAS) belirtecini kullanmanız gerekir. Performansı iyileştirmek için depolama alanını ve hedef esnek sunucuyu aynı bölgede tutun.
Veritabanında değişiklik yapılmasını önlemek için uygulamanızı kapatmanız gerekir.
Yordam
MySQL veritabanınızın fiziksel yedeğini alın. Percona'nın açık kaynak XtraBackup aracını kullanırız.
Aracı bu yönergelere göre yükleyin (MySQL 8.0 için).
Tam yedekleme oluşturma; mesela:
xtrabackup --backup --target-dir=/data/backups/
Aşağıdaki adımları izleyerek yedekleme dosyasını Azure Blob depolamaya yükleyin.
Değişkenleri doldurduktan sonra bu komutu çalıştırarak içeri aktarmayı tetikleyin. Standard_D2ds_v4 değiştirerek işlem boyutunu da değiştirebilirsiniz.
-
az mysql flexible-server import create --data-source-type "azure_blob" --data-source $BLOB_DATA_URL --data-source-backup-dir "mysql_backup_percona" –-data-source-token $SAS_TOKEN --resource-group $RESOURCE_GROUP --name $FLEXIBLE_SERVER_NAME –-sku-name Standard_D2ds_v4 --tier GeneralPurpose –-version 8.0 -–location westus --auto-scale-iops Enabled İçeri aktarma işleminin yedekleme dosyasıyla orantılı olarak daha uzun sürmesini bekleyebilirsiniz. 1 GiB yedekleme dosyasının içeri aktarılması yaklaşık yarım dakika sürerken, 1 TB'lık bir dosya yaklaşık 23 dakika sürer.
-
Aşağıdaki sınırlamaları göz önünde bulundurun:
- Kullanıcılar ve ayrıcalıklar geçirilmez. İçeri aktarma işlemi tamamlandıktan sonra oturum açma bilgilerini geçirmek için kullanıcıları ve ayrıcalıkları el ile döküm etmeniz gerekir.
- İçeri aktarma sırasında yüksek kullanılabilirlik kullanılamaz, bu nedenle geçiş tamamlandıktan sonra yüksek kullanılabilirliği etkinleştirin.
Kullanıcıları ve ayrıcalıkları geçirdikten sonra uygulamalarınızı esnek sunucuya bağlayın ve geçiş tamamlandı.
İpucu
Alternatif olarak, çevrimiçi geçiş gerçekleştiriyorsanız dışarı aktarma ve içeri aktarma işlemlerini daha önce açıklandığı gibi gerçekleştirebilir ve ardından kaynaktan hedefe çoğaltmayı ayarlayabilirdiniz. Hedef kaynağa tam olarak yetiştiğinde, kaynak veritabanını kapatmadan önce uygulamayı kesmiş olursunuz.