Delen via


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

  • 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.
  • Sommige workloads vertonen mogelijk geen verbeterde prestaties na een upgrade van 5.7 tot 8.0. We raden u aan de prestaties van uw workload te evalueren door eerst een replicaserver te maken (als testserver), deze vervolgens te promoveren naar een zelfstandige server en vervolgens de workload op de testserver uit te voeren voordat u de upgrade in een productieomgeving implementeert.
  • 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.

    Notitie

    Wanneer u het officiële hulpprogramma van Oracle gebruikt om de compatibiliteit van schema's te controleren, worden er mogelijk enkele waarschuwingen weergegeven die onverwachte tokens in opgeslagen procedures aangeven, zoals: mysql.az_replication_change_master - at line 3,4255: unexpected token 'REPLICATION'mysql.az_add_action_history - PROCEDURE uses obsolete NO_AUTO_CREATE_USER sql_mode U kunt deze waarschuwingen veilig negeren. Ze verwijzen naar ingebouwde opgeslagen procedures die voorafgegaan worden door mysql., die worden gebruikt ter ondersteuning van Azure MySQL-functies. Deze waarschuwingen hebben geen invloed op de functionaliteit van uw database.

  • 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 voor Burstable SKU-servers

Voor het uitvoeren van een upgrade van een primaire versie voor een Azure Database for MySQL Burstable SKU-rekenlaag is een gespecialiseerde werkstroom vereist. Dit komt doordat primaire versie-upgrades resource-intensief zijn en veel cpu en geheugen vergen. Burstable SKU-exemplaren die op tegoed zijn gebaseerd, kunnen lastig zijn onder deze vereisten, waardoor het upgradeproces mogelijk mislukt. Bij het upgraden van een Burstable SKU wordt de rekenlaag daarom eerst bijgewerkt naar een SKU voor algemeen gebruik om ervoor te zorgen dat er voldoende resources beschikbaar zijn voor de upgrade.

Voer de volgende stappen uit om een primaire versie-upgrade uit te voeren voor een Azure Database for MySQL Burstable SKU-rekenlaag 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.

    Schermopname van azure Database for MySQL Flexible Server Upgrade.

  3. Validatie van schemacompatibiliteit

    Voordat u doorgaat met de upgrade, voert u het officiële hulpprogramma mySQL-upgradecontrole van Oracle uit om te controleren of uw huidige databaseschema compatibel is met MySQL 8.0. Deze stap is van cruciaal belang om een soepel upgradeproces te garanderen.

  4. Beslissing vóór upgrade

    Voordat u doorgaat met de upgrade, moet u de rekenlaag kiezen waarnaar u een upgrade wilt uitvoeren om de upgrade van de primaire versie uit te voeren. Het systeem voert standaard een upgrade uit van Burstable SKU naar de meest eenvoudige SKU voor algemeen gebruik, maar u kunt ervoor kiezen om, indien nodig, een upgrade uit te voeren naar een hogere rekenlaag.

    Notitie

    Terwijl uw server tijdens de upgrade werkt in de laag Algemeen gebruik, worden er alleen kosten in rekening gebracht voor de werkelijke resources voor algemeen gebruik die tijdens deze periode worden gebruikt.

  5. Beslissing na de upgrade

    Bepaal of u de SKU algemeen gebruik wilt behouden of na de upgrade wilt terugkeren naar Burstable SKU. Deze keuze wordt tijdens de eerste upgradestappen gevraagd.

    Het systeem voert automatisch een upgrade uit van uw rekenlaag van Burstable SKU naar de geselecteerde SKU voor algemeen gebruik en ondersteunt de upgrade van de primaire versie.

  6. Upgrade van primaire versie

    Zodra de rekenlaag is bijgewerkt, start het systeem het upgradeproces van de primaire versie. Bewaak de voortgang van de upgrade via Azure Portal. Het upgradeproces kan enige tijd duren, afhankelijk van de grootte en activiteit van uw database.

    Notitie

    Als de upgrade van de primaire versie mislukt, wordt de rekenlaag niet automatisch teruggezet naar de vorige Burstable SKU. Dit is om klanten in staat te stellen de upgrade van de primaire versie voort te zetten zonder de upgrade van de rekenlaag opnieuw uit te voeren.

  7. Automatische herversie

    Op basis van uw beslissing vóór de upgrade behoudt het systeem de SKU algemeen gebruik of keert het automatisch terug naar burstable SKU nadat de upgrade is voltooid.

    Notitie

    Als u ervoor kiest om automatisch terug te keren naar Burstable SKU, wordt het systeem standaard teruggezet naar de B2S-SKU.

Een geplande primaire versie-upgrade uitvoeren van MySQL 5.7 naar MySQL 8.0 met azure Portal voor algemeen gebruik en Bedrijfskritiek SKU-servers

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.

    Schermopname van 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.

    Schermopname van valideren.

    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.

    Schermopname van 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.

    Schermopname van de 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