Azure CLI ve REST API kullanarak MySQL için Azure Veritabanı'de okuma amaçlı çoğaltma oluşturma ve yönetme

ŞUNLAR IÇIN GEÇERLIDIR: MySQL için Azure Veritabanı - Tek Sunucu

Önemli

MySQL için Azure Veritabanı tek sunucu kullanımdan kaldırma yolundadır. Esnek MySQL için Azure Veritabanı sunucuya yükseltmenizi kesinlikle öneririz. MySQL için Azure Veritabanı esnek sunucuya geçiş hakkında daha fazla bilgi için bkz. MySQL için Azure Veritabanı Tek Sunucu'ya neler oluyor?

Bu makalede, Azure CLI ve REST API kullanarak MySQL için Azure Veritabanı hizmetinde okuma amaçlı çoğaltmaları oluşturmayı ve yönetmeyi öğreneceksiniz. Okuma amaçlı çoğaltmalar hakkında daha fazla bilgi edinmek için genel bakışa bakın.

Azure CLI

Azure CLI'yi kullanarak okuma amaçlı çoğaltmalar oluşturabilir ve yönetebilirsiniz.

Önkoşullar

Önemli

Okuma amaçlı çoğaltma özelliği yalnızca Genel Amaçlı veya Bellek için İyileştirilmiş fiyatlandırma katmanlarındaki MySQL için Azure Veritabanı sunucularda kullanılabilir. Kaynak sunucunun bu fiyatlandırma katmanlarından birinde olduğundan emin olun.

Okuma amaçlı çoğaltma oluşturma

Önemli

Kaynak sunucunuzda çoğaltma sunucusu yoksa, kaynak sunucunun kullanılan depolama alanına (v1/v2) bağlı olarak kendisini çoğaltmaya hazırlamak için yeniden başlatması gerekebilir. Lütfen sunucuyu yeniden başlatmayı göz önünde bulundurun ve yoğun olmayan saatlerde bu işlemi gerçekleştirin. Diğer ayrıntılar için bkz . Kaynak Sunucu yeniden başlatma .

GTID birincil sunucuda (gtid_mode = ON) etkinleştirildiyse, yeni oluşturulan çoğaltmalarda GTID de etkinleştirilir ve GTID tabanlı çoğaltma kullanılır. Daha fazla bilgi edinmek için Genel işlem tanımlayıcısına (GTID) bakın

Okuma amaçlı çoğaltma sunucusu aşağıdaki komut kullanılarak oluşturulabilir:

az mysql server replica create --name mydemoreplicaserver --source-server mydemoserver --resource-group myresourcegroup

komutu az mysql server replica create aşağıdaki parametreleri gerektirir:

Ayar Örnek değer Açıklama
resource-group  myresourcegroup  Çoğaltma sunucusunun oluşturulacağı kaynak grubu. 
name mydemoreplicaserver Oluşturulan yeni çoğaltma sunucusunun adı.
source-server mydemoserver Çoğaltılması gereken mevcut kaynak sunucunun adı veya kimliği.

Bölgeler arası okuma amaçlı çoğaltma oluşturmak için parametresini --location kullanın. Aşağıdaki CLI örneği, çoğaltmayı Batı ABD'de oluşturur.

az mysql server replica create --name mydemoreplicaserver --source-server mydemoserver --resource-group myresourcegroup --location westus

Dekont

Hangi bölgelerde çoğaltma oluşturabileceğiniz hakkında daha fazla bilgi edinmek için çoğaltma kavramları makalesini okuyun.

Dekont

  • Komutunaz mysql server replica create, Azure CLI kullanarak bir çoğaltma oluştururken sku'yu ({pricing_tier}_{compute generation}_{vCores}) belirtmenize olanak tanıyan bağımsız değişkeni vardır--sku-name.
  • Birincil sunucu ve okuma amaçlı çoğaltma aynı fiyatlandırma katmanında olmalıdır (Genel Amaçlı veya Bellek için İyileştirilmiş).
  • Çoğaltma sunucusu yapılandırması oluşturulduktan sonra da değiştirilebilir. Çoğaltmanın ana sunucuya ayak uydurabildiğinden emin olmak için çoğaltma sunucusunun yapılandırmasının kaynaktan eşit veya daha büyük değerlerde tutulması önerilir.

Kaynak sunucu için çoğaltmaları listeleme

Belirli bir kaynak sunucunun tüm çoğaltmalarını görüntülemek için aşağıdaki komutu çalıştırın:

az mysql server replica list --server-name mydemoserver --resource-group myresourcegroup

komutu az mysql server replica list aşağıdaki parametreleri gerektirir:

Ayar Örnek değer Açıklama
resource-group  myresourcegroup  Çoğaltma sunucusunun oluşturulacağı kaynak grubu. 
server-name mydemoserver Kaynak sunucunun adı veya kimliği.

Çoğaltma sunucusuna çoğaltmayı durdurma

Önemli

Sunucuya çoğaltmayı durdurmak geri alınamaz. Bir kaynak ile çoğaltma arasında çoğaltma durdurulduktan sonra geri alınamaz. Bundan sonra çoğaltma sunucusu tek başına bir sunucu haline gelir ve artık hem okuma hem de yazma işlemleri desteklenmektedir. Bu sunucu yeniden çoğaltılamaz.

Okuma amaçlı çoğaltma sunucusuna çoğaltma aşağıdaki komut kullanılarak durdurulabilir:

az mysql server replica stop --name mydemoreplicaserver --resource-group myresourcegroup

komutu az mysql server replica stop aşağıdaki parametreleri gerektirir:

Ayar Örnek değer Açıklama
resource-group  myresourcegroup  Çoğaltma sunucusunun bulunduğu kaynak grubu. 
name mydemoreplicaserver Çoğaltmayı durduracak çoğaltma sunucusunun adı.

Çoğaltma sunucusunu silme

Okuma amaçlı çoğaltma sunucusunu silme işlemi az mysql server delete komutu çalıştırılarak gerçekleştirilebilir.

az mysql server delete --resource-group myresourcegroup --name mydemoreplicaserver

Kaynak sunucuyu silme

Önemli

Bir kaynak sunucu durdurulduğunda, tüm çoğaltma sunucularına çoğaltma durdurulur ve kaynak sunucu silinir. Çoğaltma sunucuları artık hem okuma hem de yazma işlemlerini destekleyen tek başına sunucular haline gelir.

Kaynak sunucuyu silmek için az mysql server delete komutunu çalıştırabilirsiniz.

az mysql server delete --resource-group myresourcegroup --name mydemoserver

REST API

Azure REST API'sini kullanarak okuma amaçlı çoğaltmalar oluşturabilir ve yönetebilirsiniz.

Okuma amaçlı çoğaltma oluşturma

Oluşturma API'sini kullanarak okuma amaçlı çoğaltma oluşturabilirsiniz:

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{replicaName}?api-version=2017-12-01
{
  "location": "southeastasia",
  "properties": {
    "createMode": "Replica",
    "sourceServerId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{masterServerName}"
  }
}

Dekont

Hangi bölgelerde çoğaltma oluşturabileceğiniz hakkında daha fazla bilgi edinmek için çoğaltma kavramları makalesini okuyun.

Çoğaltma, ana bilgisayarla aynı işlem ve depolama ayarları kullanılarak oluşturulur. Çoğaltma oluşturulduktan sonra, kaynak sunucudan bağımsız olarak çeşitli ayarlar değiştirilebilir: işlem oluşturma, sanal çekirdekler, depolama ve yedekleme saklama süresi. Fiyatlandırma katmanı, Temel katmana veya Temel katmandan bağımsız olarak da değiştirilebilir.

Önemli

Kaynak sunucu ayarı yeni bir değere güncelleştirilmeden önce çoğaltma ayarını eşit veya daha büyük bir değere güncelleştirin. Bu eylem, çoğaltmanın ana şablonda yapılan değişiklikleri takip etmesine yardımcı olur.

Çoğaltmaları listeleme

Çoğaltma listesi API'sini kullanarak kaynak sunucunun çoğaltma listesini görüntüleyebilirsiniz:

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{masterServerName}/Replicas?api-version=2017-12-01

Çoğaltma sunucusuna çoğaltmayı durdurma

Güncelleştirme API'sini kullanarak kaynak sunucu ile okuma çoğaltması arasında çoğaltmayı durdurabilirsiniz.

Bir kaynak sunucuya ve okuma amaçlı çoğaltmaya çoğaltmayı durdurduktan sonra geri alınamaz. Okuma amaçlı çoğaltma, hem okuma hem de yazmaları destekleyen tek başına bir sunucuya dönüşür. Tek başına sunucu yeniden bir çoğaltmaya dönüştürülemez.

PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{masterServerName}?api-version=2017-12-01
{
  "properties": {
    "replicationRole":"None"  
   }
}

Kaynak veya çoğaltma sunucusunu silme

Bir kaynak veya çoğaltma sunucusunu silmek için delete API'sini kullanırsınız:

Bir kaynak sunucuyu sildiğinizde, tüm okuma amaçlı çoğaltmalara çoğaltma durdurulur. Okuma çoğaltmaları artık hem okuma hem de yazmaları destekleyen tek başına sunucular haline gelir.

DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}?api-version=2017-12-01

Bilinen sorun

Genel Amaçlı ve Bellek için İyileştirilmiş katmandaki sunucuların kullandığı iki nesil depolama alanı vardır: Genel amaçlı depolama v1 (4 TB'a kadar destekler) ve Genel amaçlı depolama v2 (16 TB'a kadar depolamayı destekler). Kaynak sunucu ve çoğaltma sunucusu aynı depolama türüne sahip olmalıdır. Genel amaçlı depolama v2 tüm bölgelerde kullanılamadığından, okuma amaçlı çoğaltma oluşturmak için CLI veya REST API ile konum kullanırken doğru çoğaltma bölgesini seçtiğinizden emin olun. Kaynak sunucunuzun depolama türünü belirleme konusunda sunucumun hangi depolama türünde çalıştığını nasıl belirleyebilirim bağlantısına bakın.

Kaynak sunucunuz için okuma amaçlı çoğaltma oluşturamadığınız bir bölge seçerseniz, dağıtımın aşağıdaki şekilde gösterildiği gibi çalışmaya devam etmesi ve ardından "Kaynak sağlama işlemi izin verilen zaman aşımı süresi içinde tamamlanmadı" hatasıyla zaman aşımına uyacağınız bir sorunla karşılaşırsınız.

Read replica cli error.

Sonraki adımlar