Upgrade van primaire versie in Azure Database for MySQL - Flexible Server

VAN TOEPASSING OP: Azure Database for MySQL - Flexibele server

Notitie

Dit artikel bevat verwijzingen naar de term slave, een term die Microsoft niet meer gebruikt. Wanneer de term uit de software wordt verwijderd, wordt deze uit dit artikel verwijderd.

In dit artikel wordt beschreven hoe u uw primaire mySQL-versie in azure Database for MySQL flexibele server kunt upgraden. Met deze functie kunnen klanten in-place upgrades uitvoeren van hun MySQL 5.7-servers naar MySQL 8.0 zonder gegevensverplaatsing of de noodzaak om een toepassing verbindingsreeks wijzigingen aan te brengen.

Belangrijk

  • Upgrade van primaire versie is momenteel niet beschikbaar voor versie 5.7-servers op basis van de Burstable SKU.
  • De duur van downtime varieert op basis van de grootte van het database-exemplaar en het aantal tabellen dat deze bevat.
  • Bij het initiëren van een primaire versie-upgrade voor een flexibele Azure Database for MySQL-server via rest API of SDK, moet u voorkomen dat u andere eigenschappen van de service in dezelfde aanvraag wijzigt. De gelijktijdige wijzigingen zijn niet toegestaan en kunnen leiden tot onbedoelde resultaten of mislukte aanvragen. Voer wijzigingen van eigenschappen uit in afzonderlijke bewerkingen na voltooiing van de upgrade.
  • Het upgraden van de primaire MySQL-versie kan niet ongedaan worden. Uw implementatie kan mislukken als de validatie aangeeft dat de server is geconfigureerd met functies die zijn verwijderd of afgeschaft. U kunt de benodigde configuratiewijzigingen op de server aanbrengen en de upgrade opnieuw uitvoeren.

Vereisten

  • Leesreplica's met MySQL versie 5.7 moeten worden bijgewerkt voordat primaire server voor replicatie compatibel is tussen verschillende MySQL-versies. Lees meer over replicatiecompatibiliteit tussen MySQL-versies.
  • Voordat u uw productieservers bijwerkt, is het nu eenvoudiger en efficiënter met onze ingebouwde functie Valideren in Azure Portal. Met dit hulpprogramma wordt de compatibiliteit van uw databaseschema vooraf gecontroleerd met MySQL 8.0, waarbij potentiële problemen worden gemarkeerd. Hoewel we deze handige optie bieden, raden we u ook ten zeerste aan het officiële hulpprogramma oracle MySQL-upgradecontrole te gebruiken om de compatibiliteit van uw databaseschema te testen en de benodigde regressietest uit te voeren om te controleren of de toepassingscompatibiliteit is/verwijderd uit de nieuwe MySQL-versie.
  • Activeer back-ups op aanvraag voordat u een primaire versie-upgrade uitvoert op uw productieserver, die kan worden gebruikt om terug te draaien naar versie 5.7 van de volledige back-up op aanvraag.

Een geplande primaire versie-upgrade uitvoeren van MySQL 5.7 naar MySQL 8.0 met behulp van Azure Portal

Voer de volgende stappen uit om een grote versie-upgrade uit te voeren van een flexibele Azure Database for MySQL-server 5.7-server met behulp van Azure Portal.

  1. Selecteer in Azure Portal uw bestaande flexibele Azure Database for MySQL-server 5.7-server.

    Belangrijk

    U wordt aangeraden eerst een upgrade uit te voeren op een hersteld exemplaar van de server in plaats van rechtstreeks productie te upgraden. Zie hoe u herstel naar een bepaald tijdstip uitvoert.

  2. Selecteer Upgrade op de pagina Overzicht op de werkbalk.

    Belangrijk

    Voordat u een upgrade uitvoert, gaat u naar de koppeling voor een lijst met functies die zijn verwijderd in MySQL 8.0. Controleer of de afgeschafte waarden sql_mode en verwijder deze uit uw huidige flexibele Azure Database for MySQL-server 5.7-server met behulp van de blade Serverparameters in azure Portal om implementatiefouten te voorkomen. sql_mode met waarden NO_AUTO_CREATE_USER, NO_FIELD_OPTIONS, NO_KEY_OPTIONS en NO_TABLE_OPTIONS worden niet meer ondersteund in MySQL 8.0.

    Screenshot showing Azure Database for MySQL flexible server Upgrade.

  3. Validatie vóór de upgrade uitvoeren

    Voordat u doorgaat met de upgrade, klikt u op de knop Valideren om de compatibiliteit van uw server met MySQL 8.0 te controleren.

    Screenshot showing validate.

    Belangrijk

    Wanneer u de functie Valideren gebruikt om uw databaseschema te controleren op compatibiliteit met MySQL 8.0, moet u er rekening mee houden dat de tabellen moeten worden vergrendeld om het hele schema nauwkeurig te beoordelen. Dit proces kan leiden tot time-outs voor query's. Daarom is het raadzaam om tijdens piekuren geen validatie uit te voeren of wanneer uw database veel verkeer ondervindt. Het kiezen van een periode van lage activiteit voor validatie kan helpen de impact op uw bewerkingen te minimaliseren.

  4. Controleer in de zijbalk Upgrade in de MySQL-versie om het tekstvak te upgraden de primaire MySQL-versie waarnaar u een upgrade wilt uitvoeren, bijvoorbeeld 8.0.

    Screenshot showing Upgrade.

    Voordat u de primaire server kunt upgraden, moet u eerst de bijbehorende leesreplicaservers hebben bijgewerkt. Totdat dit is voltooid, wordt de upgrade uitgeschakeld.

  5. Selecteer op de primaire server het bevestigingsbericht om te controleren of alle replicaservers zijn bijgewerkt en selecteer vervolgens Upgraden.

    Screenshot showing upgrade.

    Op leesreplica en zelfstandige servers is Upgrade standaard ingeschakeld.

Een geplande primaire versie-upgrade uitvoeren van MySQL 5.7 naar MySQL 8.0 met behulp van de Azure CLI

Voer de volgende stappen uit om een grote versie-upgrade van een flexibele Azure Database for MySQL-server 5.7-server uit te voeren met behulp van de Azure CLI.

  1. Installeer de Azure CLI voor Windows of gebruik de Azure CLI in Azure Cloud Shell om de upgradeopdrachten uit te voeren.

    Voor deze upgrade is versie 2.40.0 of hoger van De Azure CLI vereist. Als u Azure Cloud Shell gebruikt, is de nieuwste versie al geïnstalleerd. Voer az version uit om de geïnstalleerde versie en afhankelijke bibliotheken te vinden. Voer az upgrade uit om te upgraden naar de nieuwste versie.

  2. Nadat u zich hebt aangemeld, voert u de opdracht az mysql server upgrade uit.

    az mysql flexible-server upgrade --name {your mysql server name} --resource-group {your resource group} --subscription {your subscription id} --version 8
    
  3. Typ onder de bevestigingsprompt y om te bevestigen of n om het upgradeproces te stoppen en druk op Enter.

Een primaire versie-upgrade uitvoeren van MySQL 5.7 naar MySQL 8.0 op een leesreplicaserver met behulp van Azure Portal

Voer de volgende stappen uit om een primaire versie van een flexibele Server 5.7-server van Azure Database for MySQL naar MySQL 8.0 uit te voeren op een leesreplica met behulp van Azure Portal.

  1. Selecteer in Azure Portal uw bestaande flexibele Azure Database for MySQL-server 5.7 leesreplicaserver.

  2. Selecteer Upgrade op de pagina Overzicht op de werkbalk.

Belangrijk

Voordat u een upgrade uitvoert, gaat u naar de koppeling voor een lijst met functies die zijn verwijderd in MySQL 8.0. Controleer of de waarden zijn afgeschaft sql_mode en verwijder deze uit uw huidige flexibele Azure Database for MySQL-server 5.7-server met behulp van de blade Serverparameters in azure Portal om implementatiefouten te voorkomen.

  1. Selecteer In de sectie Upgrade upgraden om een flexibele Azure Database for MySQL-server 5.7 leesreplicaserver te upgraden naar MySQL 8.0.

    Er wordt een melding weergegeven om te bevestigen dat de upgrade is geslaagd.

  2. Controleer op de pagina Overzicht of de leesreplicaserver van azure Database for MySQL 8.0 wordt uitgevoerd.

  3. Ga nu naar uw primaire server en voer een upgrade van de primaire versie uit.

Voer een minimale upgrade van de primaire versie van MySQL 5.7 naar MySQL 8.0 uit met behulp van leesreplica's

Voer de volgende stappen uit om een grote versie-upgrade uit te voeren van een flexibele Azure Database for MySQL-server 5.7-server naar MySQL 8.0 met minimale downtime met behulp van leesreplicaservers.

  1. Selecteer in Azure Portal uw bestaande flexibele Azure Database for MySQL-server 5.7-server.

  2. Maak een leesreplica van uw primaire server.

  3. Werk uw leesreplica bij naar versie 8.0.

  4. Nadat u hebt bevestigd dat de replicaserver versie 8.0 uitvoert, stopt u dat uw toepassing verbinding maakt met uw primaire server.

  5. Controleer de replicatiestatus om ervoor te zorgen dat de replica de primaire gegevens heeft bijgehouden, zodat alle gegevens gesynchroniseerd zijn en dat er geen nieuwe bewerkingen worden uitgevoerd op de primaire replica.

  6. Bevestig met de opdracht Replicastatus weergeven op de replicaserver om de replicatiestatus weer te geven.

     SHOW SLAVE STATUS\G
    

    Als de status van Slave_IO_Running en Slave_SQL_Running ja is en de waarde van Seconds_Behind_Master 0 is, werkt de replicatie goed. Seconds_Behind_Master geeft aan hoe laat de replica is. Als de waarde niet 0 is, verwerkt de replica nog steeds updates. Nadat u hebt bevestigd dat de waarde van Seconds_Behind_Master is, is het veilig om de replicatie te stoppen.

  7. Promoot de leesreplica naar de primaire replica door de replicatie te stoppen.

  8. Stel serverparameter read_only in op 0 (UIT) om te beginnen met schrijven op de primaire niveaupromote.

  9. Verwijs uw toepassing naar de nieuwe primaire (voormalige replica) waarop server 8.0 wordt uitgevoerd. Elke server heeft een unieke verbindingsreeks. Werk uw toepassing bij zodat deze verwijst naar de (voormalige) replica in plaats van de bron.

Notitie

In dit scenario wordt alleen downtime in rekening gebracht tijdens stap 4 tot en met 7.

Veelgestelde vragen

  • Veroorzaakt dit downtime van de server en zo ja, hoe lang?

    Als u minimale downtime tijdens upgrades wilt hebben, volgt u de stappen die worden beschreven onder Minimale downtime uitvoeren van een upgrade van de primaire versie van MySQL 5.7 naar MySQL 8.0 met behulp van leesreplica's. De server is niet beschikbaar tijdens het upgradeproces. Daarom raden we u aan deze bewerking uit te voeren tijdens het geplande onderhoudsvenster. De geschatte downtime is afhankelijk van de grootte van de database, de ingerichte opslaggrootte (IOPS) en het aantal tabellen in de database. De upgradetijd is rechtstreeks evenredig met het aantal tabellen op de server. Als u de downtime voor uw serveromgeving wilt schatten, raden we u aan eerst een upgrade uit te voeren op een hersteld exemplaar van de server.

  • Wat gebeurt er met mijn back-ups na de upgrade?

    Alle back-ups (geautomatiseerd/on-demand) die vóór de upgrade van de primaire versie zijn gemaakt, worden altijd hersteld naar een server met een oudere versie (5.7). Alle back-ups (geautomatiseerd/on-demand) die na de upgrade van de primaire versie zijn gemaakt, worden hersteld naar de server met bijgewerkte versie (8.0). Het wordt ten zeerste aanbevolen om back-ups op aanvraag te maken voordat u de upgrade van de primaire versie uitvoert voor een eenvoudige terugdraaibewerking.

  • Ik gebruik momenteel Burstable SKU, is Microsoft van plan om in de toekomst een primaire versie-upgrade voor deze SKU te ondersteunen?

    Burstable SKU kan geen primaire versie-upgrade ondersteunen vanwege de prestatiebeperking van deze SKU.

    Als u een upgrade van een primaire versie moet uitvoeren op uw exemplaar van flexibele Azure Database for MySQL-server en momenteel burstable SKU gebruikt, is er een tijdelijke oplossing om een upgrade uit te voeren naar algemeen gebruik of Bedrijfskritiek SKU, de upgrade uit te voeren en vervolgens terug te schakelen naar Burstable SKU.

    Houd er rekening mee dat een upgrade naar een hogere SKU kan leiden tot een wijziging in prijzen en dat dit kan leiden tot hogere kosten voor uw implementatie. Omdat het upgradeproces echter niet lang duurt, moeten de extra kosten niet significant zijn.

Volgende stappen