Azure CLI kullanarak MySQL için Azure Veritabanı - Esnek Sunucu örneği oluşturma ve genel erişim bağlantısını etkinleştirme

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

Bu örnek CLI betiği bir MySQL için Azure Veritabanı - Esnek Sunucu oluşturur, sunucu düzeyinde bir güvenlik duvarı kuralı (genel erişim bağlantı yöntemi) yapılandırılır ve oluşturulduktan sonra sunucuya bağlanır.

Betik başarıyla çalıştırıldıktan sonra MySQL Esnek Sunucusu'na tüm Azure hizmetleri ve yapılandırılmış IP adresi tarafından erişilebilir ve sunucuya etkileşimli modda bağlanacaksınız.

Not

Sunucu oluşturulduktan sonra bağlantı yöntemi değiştirilemez. Örneğin, Genel erişim (izin verilen IP adresleri) kullanarak sunucu oluşturursanız, oluşturma işleminden sonra Özel erişim (VNet Tümleştirmesi) olarak değiştiremezsiniz. Bağlantı yöntemleri hakkında daha fazla bilgi edinmek için bkz . Ağ kavramları.

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir Azure hesabı oluşturun. Şu anda ücretsiz Azure hesabıyla 12 ay boyunca MySQL için Azure Veritabanı - Esnek Sunucu ücretsiz sürümünü deneyebilirsiniz. Daha fazla bilgi için bkz. MySQL için Azure Veritabanı - Esnek Sunucuyu ücretsiz deneyin.

Önkoşullar

  • Azure Cloud Shell'de Bash ortamını kullanın. Daha fazla bilgi için bkz . Azure Cloud Shell'de Bash için hızlı başlangıç.

  • CLI başvuru komutlarını yerel olarak çalıştırmayı tercih ediyorsanız Azure CLI'yı yükleyin . Windows veya macOS üzerinde çalışıyorsanız Azure CLI’yi bir Docker kapsayıcısında çalıştırmayı değerlendirin. Daha fazla bilgi için bkz . Docker kapsayıcısında Azure CLI'yi çalıştırma.

    • Yerel yükleme kullanıyorsanız az login komutunu kullanarak Azure CLI ile oturum açın. Kimlik doğrulama işlemini tamamlamak için terminalinizde görüntülenen adımları izleyin. Diğer oturum açma seçenekleri için bkz . Azure CLI ile oturum açma.

    • İstendiğinde, ilk kullanımda Azure CLI uzantısını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma.

    • Yüklü sürümü ve bağımlı kitaplıkları bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.

Örnek betik

Azure Cloud Shell'i başlatma

Azure Cloud Shell, bu makaledeki adımları çalıştırmak için kullanabileceğiniz ücretsiz bir etkileşimli kabuktur. Yaygın Azure araçları, kabuğa önceden yüklenmiştir ve kabuk, hesabınızla birlikte kullanılacak şekilde yapılandırılmıştır.

Cloud Shell'i açmak için kod bloğunun sağ üst köşesinden Deneyin'i seçmeniz yeterlidir. İsterseniz https://shell.azure.com adresine giderek Cloud Shell'i ayrı bir tarayıcı sekmesinde de başlatabilirsiniz.

Cloud Shell açıldığında ortamınız için Bash'in seçili olduğunu doğrulayın. Sonraki oturumlarda Bash ortamında Azure CLI kullanılır, kod bloklarını kopyalamak için Kopyala'yı seçin, Cloud Shell'e yapıştırın ve çalıştırmak için Enter tuşuna basın.

Azure'da oturum açma

Cloud Shell'de oturum açılan ilk hesapta otomatik olarak kimlik doğrulaması yapılır. Farklı bir abonelik kullanarak oturum açmak için aşağıdaki betiği kullanın ve yerine <Subscription ID> Azure Abonelik Kimliğiniz yazın. Azure aboneliğiniz yoksa başlamadan önce birücretsiz Azure hesabı oluşturun.

subscription="<subscriptionId>" # add subscription here

az account set -s $subscription # ...or use 'az login'

Daha fazla bilgi için bkz . Etkin aboneliği ayarlama veya etkileşimli olarak oturum açma

Betiği çalıştırın

# Create an Azure Database for MySQL - Flexible Server Burstable B1ms instance
# and configure Public Access connectivity method

# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-mysql-rg-$randomIdentifier"
tag="create-connect-burstable-server-public-access-mysql"
server="msdocs-mysql-server-$randomIdentifier"
login="azureuser"
password="Pa$$w0rD-$randomIdentifier"
ipAddress="None"
# Specifying an IP address of 0.0.0.0 allows public access from any resources
# deployed within Azure to access your server. Setting it to "None" sets the server 
# in public access mode but does not create a firewall rule.
# For your public IP address, https://whatismyipaddress.com

echo "Using resource group $resourceGroup with login: $login, password: $password..."

# Create a resource group
echo "Creating $resourceGroup in $location..."
az group create --name $resourceGroup --location "$location" --tags $tag

# Create a MySQL Flexible server in the resource group
echo "Creating $server"
az mysql flexible-server create --name $server --resource-group $resourceGroup --location "$location" --admin-user $login --admin-password $password --public-access $ipAddress

# Optional: Add firewall rule to connect from all Azure services
# To limit to a specific IP address or address range, change start-ip-address and end-ip-address
echo "Adding firewall for IP address range"
az mysql flexible-server firewall-rule create --name $server --resource-group $resourceGroup --rule-name AllowAzureIPs --start-ip-address 0.0.0.0 --end-ip-address 0.0.0.0

# Connect to server in interactive mode
az mysql flexible-server connect --name $server --admin-user $login --admin-password $password --interactive

Kaynakları temizleme

Bu kaynaklara sürekli ihtiyaç duymadığınız sürece az group delete komutunu kullanarak kaynak grubunu ve onunla ilişkili tüm kaynakları kaldırmak için aşağıdaki komutu kullanın. Bu kaynaklardan bazılarının oluşturulması ve silinmesi biraz zaman alabilir.

az group delete --name $resourceGroup

Örnek başvuru

Bu betik aşağıdaki komutları kullanır. Tablodaki her komut, komuta özgü belgelere yönlendirir.

Komut Notlar
az group create Tüm kaynakların depolandığı bir kaynak grubu oluşturur
az mysql flexible-server create Veritabanlarını barındıran bir Esnek Sunucu oluşturur.
az mysql flexible-server firewall-rule create Girilen IP adresi aralığından Esnek Sunucu'ya ve veritabanlarına erişime izin vermek için bir güvenlik duvarı kuralı oluşturur.
az mysql flexible-server connect Sunucu veya veritabanı işlemlerini gerçekleştirmek için Esnek Sunucu'ya Bağlan.
az mysql flexible-server delete Esnek Sunucuyu siler.
az group delete Bir kaynak grubunu tüm iç içe geçmiş kaynaklar dahil siler.

Sonraki adımlar