Så här skapar och hanterar du läsrepliker i Azure Database for MySQL med hjälp av Azure CLI och REST API
GÄLLER FÖR: Azure Database for MySQL – enskild server
Viktigt!
Azure Database for MySQL – enskild server är på väg att dras tillbaka. Vi rekommenderar starkt att du uppgraderar till en flexibel Azure Database for MySQL-server. Mer information om hur du migrerar till en flexibel Azure Database for MySQL-server finns i Vad händer med Azure Database for MySQL – enskild server?
I den här artikeln får du lära dig hur du skapar och hanterar läsrepliker i Azure Database for MySQL-tjänsten med hjälp av Azure CLI och REST API. Mer information om att läsa repliker finns i översikten.
Azure CLI
Du kan skapa och hantera skrivskyddade repliker med hjälp av Azure CLI.
Förutsättningar
- Installera Azure CLI 2.0
- En Azure Database for MySQL-server som ska användas som källserver.
Viktigt!
Funktionen för skrivskyddad replik är endast tillgänglig för Azure Database for MySQL-servrar på prisnivåerna Generell användning eller Minnesoptimerad. Kontrollera att källservern finns på någon av dessa prisnivåer.
Skapa en skrivskyddad replik
Viktigt!
Om källservern inte har några befintliga replikservrar kan källservern behöva startas om för att förbereda sig för replikering beroende på vilken lagring som används (v1/v2). Överväg att starta om servern och utföra den här åtgärden under tider med låg belastning. Mer information finns i Starta om källservern.
Om GTID är aktiverat på en primär server (gtid_mode
= ON), har nyligen skapade repliker också GTID aktiverat och använder GTID-baserad replikering. Mer information finns i Global transaktionsidentifierare (GTID)
Du kan skapa en skrivskyddade replikserver med hjälp av följande kommando:
az mysql server replica create --name mydemoreplicaserver --source-server mydemoserver --resource-group myresourcegroup
Kommandot az mysql server replica create
kräver följande parametrar:
Inställning | Exempelvärde | Beskrivning |
---|---|---|
resource-group | myresourcegroup | Den resursgrupp där replikservern skapas. |
name | mydemoreplicaserver | Namnet på den nya replikservern som skapas. |
source-server | mydemoserver | Namnet eller ID:t för den befintliga källservern som ska replikeras från. |
Om du vill skapa en läsreplik mellan regioner använder du parametern --location
. CLI-exemplet nedan skapar repliken i USA, västra.
az mysql server replica create --name mydemoreplicaserver --source-server mydemoserver --resource-group myresourcegroup --location westus
Kommentar
Mer information om vilka regioner du kan skapa en replik i finns i artikeln om att läsa replikbegrepp.
Kommentar
- Kommandot
az mysql server replica create
har--sku-name
ett argument som gör att du kan ange sku :n ({pricing_tier}_{compute generation}_{vCores}
) när du skapar en replik med Hjälp av Azure CLI. - Den primära servern och läsrepliken ska vara på samma prisnivå (Generell användning eller Minnesoptimerad).
- Konfigurationen av replikservern kan också ändras när den har skapats. Vi rekommenderar att replikserverns konfiguration behålls med samma eller högre värden än källan för att säkerställa att repliken kan hänga med i huvudservern.
Lista repliker för en källserver
Om du vill visa alla repliker för en viss källserver kör du följande kommando:
az mysql server replica list --server-name mydemoserver --resource-group myresourcegroup
Kommandot az mysql server replica list
kräver följande parametrar:
Inställning | Exempelvärde | Beskrivning |
---|---|---|
resource-group | myresourcegroup | Den resursgrupp där replikservern skapas. |
server-name | mydemoserver | Källserverns namn eller ID. |
Stoppa replikeringen till en replikserver
Viktigt!
Det går inte att ångra replikeringen till en server. När replikeringen har stoppats mellan en källa och replik kan den inte ångras. Replikservern blir sedan en fristående server och stöder nu både läsning och skrivningar. Den här servern kan inte göras till en replik igen.
Replikering till en skrivskyddad replikserver kan stoppas med hjälp av följande kommando:
az mysql server replica stop --name mydemoreplicaserver --resource-group myresourcegroup
Kommandot az mysql server replica stop
kräver följande parametrar:
Inställning | Exempelvärde | Beskrivning |
---|---|---|
resource-group | myresourcegroup | Resursgruppen där replikservern finns. |
name | mydemoreplicaserver | Namnet på replikservern som replikeringen ska stoppas på. |
Ta bort en replikserver
Du kan ta bort en läsreplikserver genom att köra kommandot az mysql server delete.
az mysql server delete --resource-group myresourcegroup --name mydemoreplicaserver
Ta bort en källserver
Viktigt!
Om du tar bort en källserver stoppas replikeringen till alla replikservrar och själva källservern tas bort. Replikservrar blir fristående servrar som nu stöder både läsningar och skrivningar.
Om du vill ta bort en källserver kan du köra kommandot az mysql server delete .
az mysql server delete --resource-group myresourcegroup --name mydemoserver
REST-API
Du kan skapa och hantera läsrepliker med hjälp av Azure REST API.
Skapa en skrivskyddad replik
Du kan skapa en läsreplik med hjälp av create-API:et:
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}"
}
}
Kommentar
Mer information om vilka regioner du kan skapa en replik i finns i artikeln om att läsa replikbegrepp.
En replik skapas med samma beräknings- och lagringsinställningar som huvudservern. När en replik har skapats kan flera inställningar ändras oberoende av källservern: beräkningsgenerering, virtuella kärnor, lagring och kvarhållningsperiod för säkerhetskopiering. Prisnivån kan också ändras oberoende av varandra, förutom till eller från Basic-nivån.
Viktigt!
Innan en källserverinställning uppdateras till ett nytt värde uppdaterar du replikinställningen till ett lika stort eller större värde. Den här åtgärden hjälper repliken att hålla jämna steg med alla ändringar som gjorts i originalet.
Lista repliker
Du kan visa listan över repliker av en källserver med hjälp av API:et för repliklistan:
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{masterServerName}/Replicas?api-version=2017-12-01
Stoppa replikeringen till en replikserver
Du kan stoppa replikeringen mellan en källserver och en läsreplik med hjälp av uppdaterings-API:et.
När du har stoppat replikeringen till en källserver och en läsreplik kan den inte ångras. Läsrepliken blir en fristående server som stöder både läsningar och skrivningar. Den fristående servern kan inte göras till en replik igen.
PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{masterServerName}?api-version=2017-12-01
{
"properties": {
"replicationRole":"None"
}
}
Ta bort en käll- eller replikserver
Om du vill ta bort en käll- eller replikserver använder du borttagnings-API:et:
När du tar bort en källserver stoppas replikeringen till alla lästa repliker. Läsreplikerna blir fristående servrar som nu stöder både läsningar och skrivningar.
DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}?api-version=2017-12-01
Kända problem
Det finns två generationer av lagring som servrarna på Generell användning- och minnesoptimerad nivå använder, Generell lagring v1 (stöder upp till 4 TB) och generell lagring v2 (stöder upp till 16 TB lagring). Källservern och replikservern bör ha samma lagringstyp. Eftersom Generell lagring v2 inte är tillgänglig i alla regioner kontrollerar du att du väljer rätt replikregion när du använder platsen med CLI eller REST-API:et för att skapa skrivskyddade repliker. Information om hur du identifierar lagringstypen för källservern finns i länken Hur kan jag avgöra vilken lagringstyp min server körs på.
Om du väljer en region där du inte kan skapa en skrivskyddade replik för källservern stöter du på problemet där distributionen fortsätter att köras enligt bilden nedan och sedan överskrider tidsgränsen med felet "Resursetableringsåtgärden slutfördes inte inom den tillåtna tidsgränsen".
az mysql server replica create -n <replica-servername> -g <resource group> --location <replica-region> -s <source-servername>
/ Running . .
Nästa steg
- Läs mer om läsrepliker