Share via


Leesreplica's maken en beheren in Azure Database for MySQL met behulp van de Azure CLI en REST API

VAN TOEPASSING OP: Azure Database for MySQL - enkele server

Belangrijk

Azure Database for MySQL enkele server bevindt zich op het buitengebruikstellingspad. We raden u ten zeerste aan een upgrade uit te voeren naar een flexibele Azure Database for MySQL-server. Zie Wat gebeurt er met Azure Database for MySQL Enkele server voor meer informatie over migreren naar Azure Database for MySQL Flexibele server ?

In dit artikel leert u hoe u leesreplica's maakt en beheert in de Azure Database for MySQL-service met behulp van de Azure CLI en REST API. Zie het overzicht voor meer informatie over leesreplica's.

Azure-CLI

U kunt leesreplica's maken en beheren met behulp van de Azure CLI.

Vereisten

Belangrijk

De functie leesreplica is alleen beschikbaar voor Azure Database for MySQL-servers in de prijscategorieën Algemeen gebruik of Geoptimaliseerd voor geheugen. Zorg ervoor dat de bronserver zich in een van deze prijscategorieën bevindt.

Een leesreplica maken

Belangrijk

Als uw bronserver geen bestaande replicaservers heeft, moet de bronserver mogelijk opnieuw worden opgestart om zich voor te bereiden op replicatie, afhankelijk van de gebruikte opslag (v1/v2). Overweeg opnieuw opstarten van de server en voer deze bewerking uit tijdens daluren. Zie Het opnieuw opstarten van de bronserver voor meer informatie.

Als GTID is ingeschakeld op een primaire server (gtid_mode = AAN), hebben nieuw gemaakte replica's ook GTID ingeschakeld en worden GTID-gebaseerde replicatie gebruikt. Raadpleeg global transaction identifier (GTID) voor meer informatie

U kunt een leesreplicaserver maken met behulp van de volgende opdracht:

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

Voor de az mysql server replica create opdracht zijn de volgende parameters vereist:

Instelling Voorbeeldwaarde Beschrijving
resource-group  myresourcegroup  De resourcegroep waarin de replicaserver wordt gemaakt. 
naam mydemoreplicaserver De naam van de nieuwe replicaserver die wordt gemaakt.
source-server mydemoserver De naam of id van de bestaande bronserver waaruit moet worden gerepliceerd.

Als u een leesreplica voor meerdere regio's wilt maken, gebruikt u de --location parameter. In het onderstaande CLI-voorbeeld wordt de replica gemaakt in VS - west.

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

Notitie

Raadpleeg het artikel leesreplicaconcepten voor meer informatie over de regio's waarin u een replica kunt maken.

Notitie

  • De az mysql server replica create opdracht heeft --sku-name een argument waarmee u de sku ({pricing_tier}_{compute generation}_{vCores}) kunt opgeven terwijl u een replica maakt met behulp van Azure CLI.
  • De primaire server en leesreplica moeten zich in dezelfde prijscategorie bevinden (Algemeen gebruik of Geoptimaliseerd voor geheugen).
  • De configuratie van de replicaserver kan ook worden gewijzigd nadat deze is gemaakt. Het wordt aanbevolen om de configuratie van de replicaserver op gelijke of hogere waarden te houden dan de bron om ervoor te zorgen dat de replica de master kan bijhouden.

Replica's voor een bronserver weergeven

Als u alle replica's voor een bepaalde bronserver wilt weergeven, voert u de volgende opdracht uit:

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

Voor de az mysql server replica list opdracht zijn de volgende parameters vereist:

Instelling Voorbeeldwaarde Beschrijving
resource-group  myresourcegroup  De resourcegroep waarin de replicaserver wordt gemaakt. 
servernaam mydemoserver De naam of id van de bronserver.

Replicatie naar een replicaserver stoppen

Belangrijk

Replicatie naar een server stoppen kan niet ongedaan worden. Zodra de replicatie tussen een bron en replica is gestopt, kan deze niet ongedaan worden gemaakt. De replicaserver wordt vervolgens een zelfstandige server en ondersteunt nu zowel lees- als schrijfbewerkingen. Van deze server kan niet opnieuw een replica worden gemaakt.

Replicatie naar een leesreplicaserver kan worden gestopt met behulp van de volgende opdracht:

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

Voor de az mysql server replica stop opdracht zijn de volgende parameters vereist:

Instelling Voorbeeldwaarde Beschrijving
resource-group  myresourcegroup  De resourcegroep waar de replicaserver bestaat. 
naam mydemoreplicaserver De naam van de replicaserver waarop de replicatie moet worden gestopt.

Een replicaserver verwijderen

U kunt een leesreplicaserver verwijderen door de opdracht az mysql server delete uit te voeren.

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

Een bronserver verwijderen

Belangrijk

Als u een bronserver verwijdert, wordt de replicatie naar alle replicaservers gestopt en wordt de bronserver zelf verwijderd. Replicaservers worden zelfstandige servers die nu zowel lees-als schrijfbewerkingen ondersteunen.

Als u een bronserver wilt verwijderen, kunt u de opdracht az mysql server delete uitvoeren.

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

REST-API

U kunt leesreplica's maken en beheren met behulp van de Azure REST API.

Een leesreplica maken

U kunt een leesreplica maken met behulp van de create-API:

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}"
  }
}

Notitie

Raadpleeg het artikel leesreplicaconcepten voor meer informatie over de regio's waarin u een replica kunt maken.

Er wordt een replica gemaakt met dezelfde reken- en opslaginstellingen als de hoofdserver. Nadat een replica is gemaakt, kunnen verschillende instellingen onafhankelijk van de bronserver worden gewijzigd: berekeningsgeneratie, vCores, opslag en back-upretentieperiode. De prijscategorie kan ook onafhankelijk worden gewijzigd, behalve van of van de Basic-laag.

Belangrijk

Voordat een bronserverinstelling wordt bijgewerkt naar een nieuwe waarde, werkt u de replica-instelling bij naar een gelijke of hogere waarde. Met deze actie kan de replica alle wijzigingen in de master bijhouden.

Replica's weergeven

U kunt de lijst met replica's van een bronserver weergeven met behulp van de API voor replicalijsten:

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

Replicatie naar een replicaserver stoppen

U kunt de replicatie tussen een bronserver en een leesreplica stoppen met behulp van de update-API.

Nadat u de replicatie naar een bronserver en een leesreplica hebt gestopt, kan deze niet ongedaan worden gemaakt. De leesreplica wordt een zelfstandige server die zowel lees- als schrijfbewerkingen ondersteunt. De zelfstandige server kan niet opnieuw in een replica worden gemaakt.

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

Een bron- of replicaserver verwijderen

Als u een bron- of replicaserver wilt verwijderen, gebruikt u de verwijder-API:

Wanneer u een bronserver verwijdert, wordt de replicatie naar alle leesreplica's gestopt. De leesreplica's worden zelfstandige servers die nu zowel lees- als schrijfbewerkingen ondersteunen.

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

Bekend probleem

Er zijn twee generaties opslag die de servers in de laag Algemeen gebruik en Geoptimaliseerd voor geheugen gebruiken, opslag voor algemeen gebruik v1 (ondersteunt maximaal 4 TB) en opslag voor algemeen gebruik v2 (ondersteunt maximaal 16 TB-opslag). De bronserver en de replicaserver moeten hetzelfde opslagtype hebben. Omdat opslag v2 voor algemeen gebruik niet beschikbaar is in alle regio's, moet u ervoor zorgen dat u de juiste replicaregio kiest terwijl u de locatie gebruikt met de CLI of REST API voor het maken van leesreplica's. Voor het identificeren van het opslagtype van uw bronserver raadpleegt u de koppeling Hoe kan ik bepalen op welk opslagtype mijn server wordt uitgevoerd.

Als u een regio kiest waarin u geen leesreplica voor uw bronserver kunt maken, treedt het probleem op waarbij de implementatie actief blijft, zoals wordt weergegeven in de onderstaande afbeelding. Vervolgens treedt er een time-out op met de fout 'De resourceinrichtingsbewerking is niet voltooid binnen de toegestane time-outperiode'.

Lees de cli-fout van de replica.

Volgende stappen