Megosztás a következőn keresztül:


Főverzió-frissítés az Azure Database for MySQL-ben – rugalmas kiszolgáló

A következőkre vonatkozik: Azure Database for MySQL – rugalmas kiszolgáló

Feljegyzés

Ebben a cikkben szerepel a slave (alárendelt) kifejezés, amelyet a Microsoft már nem használ. Ha a kifejezés el lesz távolítva a szoftverből, eltávolítjuk a jelen cikkből.

Ez a cikk azt ismerteti, hogyan frissítheti a MySQL főverzióját a rugalmas Azure Database for MySQL-kiszolgálón. Ez a funkció lehetővé teszi az ügyfelek számára, hogy a MySQL 5.7-kiszolgálóikat helyben frissítsék a MySQL 8.0-ra adatáthelyezés vagy bármilyen alkalmazás kapcsolati sztring módosítása nélkül.

Fontos

  • Az állásidő időtartama az adatbázispéldány méretétől és a benne található táblák számától függően változik.
  • Ha egy rugalmas Azure Database for MySQL-kiszolgáló főverziófrissítését kezdeményezi Rest API-val vagy SDK-val, ne módosítsa a szolgáltatás más tulajdonságait ugyanabban a kérésben. Az egyidejű módosítások nem engedélyezettek, és nem várt eredményekhez vagy kéréshibákhoz vezethetnek. Végezze el a tulajdonságmódosításokat a frissítés befejezése után külön műveletekben.
  • Előfordulhat, hogy egyes számítási feladatok nem mutatnak jobb teljesítményt az 5.7-ről 8.0-ra való frissítés után. Javasoljuk, hogy értékelje ki a számítási feladat teljesítményét, először hozzon létre egy replikakiszolgálót (tesztkiszolgálóként), majd előléptetje azt egy önálló kiszolgálóra, majd futtassa a számítási feladatot a tesztkiszolgálón, mielőtt éles környezetben implementálnánk a frissítést.
  • A fő MySQL-verzió frissítése visszavonhatatlan. Az üzembe helyezés sikertelen lehet, ha az ellenőrzés megállapítja, hogy a kiszolgáló olyan funkciókkal lett konfigurálva, amelyek el lettek távolítva, vagy amelyek elavultak. Elvégezheti a szükséges konfigurációs módosításokat a kiszolgálón, és próbálkozzon újra a frissítéssel.

Előfeltételek

  • A MySQL 5.7-es verziójával rendelkező olvasási replikákat frissíteni kell az elsődleges kiszolgáló előtt, hogy a replikáció kompatibilis legyen a különböző MySQL-verziók között. További információ a MySQL-verziók közötti replikációs kompatibilitásról.
  • Az éles kiszolgálók frissítése előtt mostantól egyszerűbb és hatékonyabb lesz az Azure Portal beépített Érvényesítési funkciójával. Ez az eszköz előre ellenőrzi az adatbázisséma és a MySQL 8.0 kompatibilitását, kiemelve a lehetséges problémákat. Bár ezt a kényelmes lehetőséget kínáljuk, határozottan javasoljuk, hogy a hivatalos Oracle MySQL-frissítés-ellenőrző eszközzel tesztelje az adatbázis sémakompatibilitását, és végezze el a szükséges regressziós tesztet az alkalmazások kompatibilitásának ellenőrzéséhez az új MySQL-verzióban elavult/ funkciókkal.

    Feljegyzés

    Ha az Oracle hivatalos eszközét használja a sémakompatibilitás ellenőrzéséhez, előfordulhat, hogy a tárolt eljárásokban váratlan jogkivonatokat jelző figyelmeztetések jelennek meg, például: 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 Ezeket a figyelmeztetéseket nyugodtan figyelmen kívül hagyhatja. Ezek a mysql.- előtagú beépített tárolt eljárásokra vonatkoznak, amelyek az Azure MySQL-funkciók támogatására szolgálnak. Ezek a figyelmeztetések nem befolyásolják az adatbázis működését.

  • Aktiválja az igény szerinti biztonsági mentést, mielőtt nagyobb verziófrissítést hajt végre az éles kiszolgálón, amely a teljes igény szerinti biztonsági mentésből az 5.7-es verzióra való visszaállításhoz használható.
  • A főverzió-frissítés végrehajtása előtt győződjön meg arról, hogy nincsenek aktív vagy függőben lévő XA-tranzakciók az adatbázisban, mivel a folyamatban lévő XA-tranzakciók a frissítési folyamat meghiúsulását okozhatják. A probléma elkerülése érdekében először ellenőrizze, hogy az XA-tranzakciók "előkészített" állapotban XA RECOVER;vannak-e. Az azonosított tranzakciók esetében használja az ; parancsot XA ROLLBACK '{xid}'az egyes tranzakciók visszaállításához, és cserélje le a(z) {xid} értéket a tranzakcióazonosítóra. A tranzakciók konzisztenciájának fenntartása és a frissítési hibák kockázatának csökkentése érdekében győződjön meg arról, hogy az összes XA-tranzakció véglegesítése vagy visszaállítása a frissítés megkezdése előtt történt.

Tervezett főverzió-frissítés végrehajtása MySQL 5.7-ről MySQL 8.0-ra az Azure Portal for Burstable SKU-kiszolgálók használatával

Az Azure Database for MySQL burstable SKU számítási szint főverzió-frissítéséhez speciális munkafolyamatra van szükség. Ennek az az oka, hogy a főverzió-frissítések erőforrásigényesek, és jelentős processzor- és memóriaigényt igényelnek. A kreditalapú, kipukkasztható termékváltozat-példányok nehezen alkalmazhatók ezekre a követelményekre, ami a frissítési folyamat meghiúsulását okozhatja. Ezért a kipukkasztható termékváltozatok frissítésekésekor a rendszer először egy általános célú termékváltozatra frissíti a számítási szintet, hogy elegendő erőforrás álljon rendelkezésre a frissítéshez.

Az Azure Database for MySQL Burstable SKU számítási szint főverzió-frissítésének az Azure Portal használatával történő végrehajtásához kövesse az alábbi lépéseket:

  1. Az Azure Portalon válassza ki a meglévő rugalmas Azure Database for MySQL-kiszolgálót 5.7-es kiszolgálón.

    Fontos

    Javasoljuk, hogy az éles környezet közvetlen frissítése helyett először végezze el a frissítést a kiszolgáló visszaállított példányán. Megtudhatja , hogyan hajthat végre időponthoz kötött visszaállítást.

  2. Az Áttekintés lapon, az eszköztáron válassza a Frissítés lehetőséget.

    Fontos

    A MySQL 8.0-s verziójában eltávolított funkciók listájára mutató hivatkozás frissítése előtt. Ellenőrizze az elavult sql_mode értékeket, és távolítsa el/törölje azokat a jelenlegi rugalmas Azure Database for MySQL-kiszolgálóról 5.7-es kiszolgálóról az Azure Portal Kiszolgálóparaméterek paneljén az üzembe helyezési hibák elkerülése érdekében. sql_mode NO_AUTO_CREATE_USER, NO_FIELD_OPTIONS, NO_KEY_OPTIONS és NO_TABLE_OPTIONS értékek már nem támogatottak a MySQL 8.0-ban.

    Képernyőkép a rugalmas Azure Database for MySQL-kiszolgálófrissítésről.

  3. Sémakompatibilitás ellenőrzése

    A frissítés megkezdése előtt futtassa az Oracle hivatalos MySQL-frissítés-ellenőrző eszközét annak ellenőrzéséhez, hogy az aktuális adatbázisséma kompatibilis-e a MySQL 8.0-val. Ez a lépés elengedhetetlen a zökkenőmentes frissítési folyamat biztosításához.

  4. Frissítés előtti döntés

    A frissítés folytatása előtt ki kell választania azt a számítási szintet, amelyre frissíteni szeretné a főverzió frissítését. Alapértelmezés szerint a rendszer a Burstable termékváltozatról a legalapvetőbb általános célú termékváltozatra frissül, de szükség esetén magasabb számítási szintre is frissíthet.

    Feljegyzés

    Bár a kiszolgáló az "Általános célú" szinten működik a frissítés során, a rendszer csak az ebben az időszakban használt tényleges "Általános célú" erőforrásokért számít fel díjat.

  5. Frissítés utáni döntés

    Döntse el, hogy megtartja-e az általános célú termékváltozatot, vagy a frissítés után visszaáll a Burstable termékváltozatra. Ezt a választást a rendszer a kezdeti frissítési lépések során kéri.

    A rendszer automatikusan frissíti a számítási szintet a Burstable termékváltozatról a kiválasztott általános célú termékváltozatra, amely támogatja a főverzió frissítését.

  6. Főverzió frissítése

    A számítási szint frissítése után a rendszer elindítja a főverzió-frissítési folyamatot. A frissítés előrehaladásának monitorozása az Azure Portalon keresztül. A frissítési folyamat az adatbázis méretétől és tevékenységétől függően eltarthat egy ideig.

    Feljegyzés

    Ha a főverzió frissítése sikertelen, a számítási szint nem fog automatikusan visszaállni az előző burstable termékváltozatra. Ez lehetővé teszi az ügyfelek számára a főverzió frissítésének folytatását anélkül, hogy újra el kellene végezni a számítási szint frissítését.

  7. Automatikus reversion

    A frissítés előtti döntés alapján a rendszer megtartja az általános célú termékváltozatot, vagy automatikusan visszaáll a Burstable termékváltozatra a frissítés befejezése után.

    Feljegyzés

    Ha úgy döntött, hogy automatikusan visszaáll a Burstable termékváltozatra, a rendszer alapértelmezés szerint visszaáll a B2S termékváltozatra.

Tervezett főverzió-frissítés végrehajtása a MySQL 5.7-ről a MySQL 8.0-ra az Általános célú Azure Portal és üzletileg kritikus termékváltozat-kiszolgálók használatával

A rugalmas Azure Database for MySQL-kiszolgáló 5.7-es kiszolgálójának főverziófrissítéséhez az Azure Portalon hajtsa végre az alábbi lépéseket.

  1. Az Azure Portalon válassza ki a meglévő rugalmas Azure Database for MySQL-kiszolgálót 5.7-es kiszolgálón.

    Fontos

    Javasoljuk, hogy az éles környezet közvetlen frissítése helyett először végezze el a frissítést a kiszolgáló visszaállított példányán. Megtudhatja , hogyan hajthat végre időponthoz kötött visszaállítást.

  2. Az Áttekintés lapon, az eszköztáron válassza a Frissítés lehetőséget.

    Fontos

    A MySQL 8.0-s verziójában eltávolított funkciók listájára mutató hivatkozás frissítése előtt. Ellenőrizze az elavult sql_mode értékeket, és távolítsa el/törölje azokat a jelenlegi rugalmas Azure Database for MySQL-kiszolgálóról 5.7-es kiszolgálóról az Azure Portal Kiszolgálóparaméterek paneljén az üzembe helyezési hibák elkerülése érdekében. sql_mode NO_AUTO_CREATE_USER, NO_FIELD_OPTIONS, NO_KEY_OPTIONS és NO_TABLE_OPTIONS értékek már nem támogatottak a MySQL 8.0-ban.

    Képernyőkép a rugalmas Azure Database for MySQL-kiszolgálófrissítésről.

  3. Frissítés előtti ellenőrzés végrehajtása

    A frissítés megkezdése előtt kattintson az Ellenőrzés gombra a kiszolgáló és a MySQL 8.0 kompatibilitásának ellenőrzéséhez.

    Képernyőkép az ellenőrzésről.

    Fontos

    Ha az "Ellenőrzés" funkcióval ellenőrzi, hogy az adatbázisséma kompatibilis-e a MySQL 8.0-val, vegye figyelembe, hogy a táblák zárolásával pontosan felmérheti a teljes sémát. Ez a folyamat lekérdezési időtúllépésekhez vezethet. Ezért ajánlott, hogy ne végezzen ellenőrzést csúcsidőszakban, vagy ha az adatbázis nagy forgalmat tapasztal. Az ellenőrzéshez szükséges alacsony tevékenységi időszak kiválasztása segíthet minimalizálni a műveletekre gyakorolt hatást.

  4. A Frissítés oldalsávon, a Frissíteni kívánt MySQL-verzió szövegmezőjében ellenőrizze, hogy a fő MySQL-verzióra, azaz a 8.0-ra szeretne-e frissíteni.

    Képernyőkép a frissítésről.

    Az elsődleges kiszolgáló frissítése előtt frissítenie kell a társított olvasási replikakiszolgálót. Amíg ez nem fejeződik be, a frissítés le lesz tiltva.

  5. Az elsődleges kiszolgálón válassza a megerősítést kérő üzenetet annak ellenőrzéséhez, hogy az összes replikakiszolgáló frissítve lett-e, majd válassza a Frissítés lehetőséget.

    Képernyőkép a frissítésről.

    Olvasási replika és önálló kiszolgálók esetén a frissítés alapértelmezés szerint engedélyezve van.

Tervezett főverzió-frissítés végrehajtása MySQL 5.7-ről MySQL 8.0-ra az Azure CLI használatával

Ha egy rugalmas Azure Database for MySQL-kiszolgáló 5.7-es kiszolgáló főverziófrissítését szeretné végrehajtani az Azure CLI használatával, hajtsa végre az alábbi lépéseket.

  1. Telepítse a WindowsHoz készült Azure CLI-t , vagy használja az Azure CLI-t az Azure Cloud Shellben a frissítési parancsok futtatásához.

    A frissítéshez az Azure CLI 2.40.0-s vagy újabb verziója szükséges. Ha Az Azure Cloud Shellt használja, a legújabb verzió már telepítve van. Futtassa az az version parancsot a telepített verzió és a függő kódtárak megkereséséhez. A legújabb verzióra az az upgrade paranccsal frissíthet.

  2. Bejelentkezés után futtassa az az mysql-kiszolgáló frissítési parancsát.

    az mysql flexible-server upgrade --name {your mysql server name} --resource-group {your resource group} --subscription {your subscription id} --version 8
    
  3. A megerősítést kérő üzenetben írja be az y billentyűt a frissítési folyamat leállításához, majd nyomja le az Enter billentyűt.

Főverzió-frissítés végrehajtása MySQL 5.7-ről MySQL 8.0-ra olvasási replikakiszolgálón az Azure Portal használatával

Ha egy rugalmas Azure Database for MySQL-kiszolgáló 5.7-es kiszolgálójának főverziófrissítését szeretné végrehajtani egy olvasási replikán a MySQL 8.0-ra az Azure Portal használatával, hajtsa végre az alábbi lépéseket.

  1. Az Azure Portalon válassza ki a meglévő rugalmas Azure Database for MySQL-kiszolgáló 5.7-es olvasási replikakiszolgálóját.

  2. Az Áttekintés lapon, az eszköztáron válassza a Frissítés lehetőséget.

Fontos

A MySQL 8.0-s verziójában eltávolított funkciók listájára mutató hivatkozás frissítése előtt. Ellenőrizze az elavult sql_mode értékeket, és távolítsa el/törölje azokat a rugalmas Azure Database for MySQL-kiszolgáló 5.7-es kiszolgálójáról az Azure Portal Kiszolgálóparaméterek paneljén az üzembe helyezési hibák elkerülése érdekében.

  1. A Frissítés szakaszban válassza a Frissítés lehetőséget egy rugalmas Azure Database for MySQL-kiszolgáló 5.7-es olvasási replikakiszolgálójának a MySQL 8.0-ra való frissítéséhez.

    Megjelenik egy értesítés, amely megerősíti, hogy a frissítés sikeres.

  2. Az Áttekintés lapon ellenőrizze, hogy a rugalmas Azure Database for MySQL-kiszolgáló olvasási replikakiszolgálója 8.0-s verziójú-e.

  3. Most lépjen az elsődleges kiszolgálóra, és végezze el rajta a főverziófrissítést.

Minimális állásidő főverzió frissítése MySQL 5.7-ről MySQL 8.0-ra olvasási replikák használatával

Ha egy rugalmas Azure Database for MySQL-kiszolgáló 5.7-es kiszolgálójának főverziófrissítését szeretné végrehajtani a MySQL 8.0-ra olvasási replikakiszolgálók használatával minimális állásidővel, hajtsa végre az alábbi lépéseket.

  1. Az Azure Portalon válassza ki a meglévő rugalmas Azure Database for MySQL-kiszolgálót 5.7-es kiszolgálón.

  2. Olvasási replika létrehozása az elsődleges kiszolgálóról.

  3. Frissítse az olvasási replikát a 8.0-s verzióra.

  4. Miután meggyőződett arról, hogy a replikakiszolgáló a 8.0-s verziót futtatja, állítsa le, hogy az alkalmazás csatlakozzon az elsődleges kiszolgálóhoz.

  5. Ellenőrizze a replikáció állapotát, hogy a replika felzárkózott-e az elsődlegeshez, hogy az összes adat szinkronizálva legyen, és ne történjen új művelet az elsődlegesen.

  6. Ellenőrizze a replikakiszolgáló replikaállapot-megjelenítési parancsával a replikáció állapotának megtekintéséhez.

     SHOW SLAVE STATUS\G
    

    Ha a Slave_IO_Running és a Slave_SQL_Running állapota igen , és a Seconds_Behind_Master értéke 0, a replikáció jól működik. Seconds_Behind_Master jelzi, hogy a replika mennyi késésben van. Ha az érték nem 0, akkor a replika továbbra is feldolgozja a frissítéseket. Miután meggyőződett arról, hogy a Seconds_Behind_Master értéke ****, biztonságosan leállíthatja a replikációt.

  7. Az olvasási replika előléptetése elsődlegesre a replikáció leállításával.

  8. Állítsa a kiszolgálóparaméter read_only 0 (KI) értékre az előléptetett elsődlegesen való írás megkezdéséhez.

  9. Helyezze az alkalmazást a 8.0-s kiszolgálót futtató új elsődleges (korábbi) replikára. Minden kiszolgáló egyedi kapcsolati sztring rendelkezik. Frissítse az alkalmazást úgy, hogy a forrás helyett a (korábbi) replikára mutasson.

Feljegyzés

Ez a forgatókönyv csak a 4–7. lépésben jár állásidővel.

Gyakori kérdések

  • Ez a kiszolgáló leállását fogja okozni, és ha igen, mennyi ideig?

    Ha minimális állásidőt szeretne a frissítések során, kövesse a MySQL 5.7-ről a MySQL 8.0-ra történő minimális állásidő-frissítés végrehajtása olvasási replikák használatával című szakasz lépéseit. A kiszolgáló a frissítési folyamat során nem lesz elérhető, ezért javasoljuk, hogy ezt a műveletet a tervezett karbantartási időszak alatt végezze el. A becsült állásidő az adatbázis méretétől, a kiépített tárolómérettől (kiépített IP-címektől) és az adatbázis tábláinak számától függ. A frissítési idő közvetlenül arányos a kiszolgálón lévő táblák számával. A kiszolgálókörnyezet állásidejének becsléséhez javasoljuk, hogy először végezze el a frissítést a kiszolgáló visszaállított példányán.

  • Mi történik a biztonsági másolatokkal a frissítés után?

    A főverzió frissítése előtt készült (automatikus/igény szerinti) biztonsági másolatok, amikor visszaállításra használják, mindig a régebbi (5.7-es) verziójú kiszolgálóra kerülnek vissza. A főverzió-frissítés után készült biztonsági másolatok (automatikus/igény szerinti) a frissített (8.0) verziójú kiszolgálóra kerülnek vissza. Erősen ajánlott igény szerinti biztonsági mentést végezni, mielőtt végrehajtja a főverziófrissítést az egyszerű visszaállítás érdekében.

  • Jelenleg a Burstable termékváltozatot használom, a Microsoft a jövőben támogatja a termékváltozat főverzió-frissítését?

    A kipukkasztható termékváltozat a termékváltozat teljesítménykorlátozása miatt nem támogatja a főverzió frissítését.

    Ha egy nagyobb verziófrissítést kell végrehajtania a rugalmas Azure Database for MySQL-kiszolgálópéldányon, és jelenleg burstable termékváltozatot használ, az egyik ideiglenes megoldás az általános célú vagy üzletileg kritikus termékváltozatra való frissítés, a frissítés végrehajtása, majd a Burstable termékváltozatra való visszaváltás.

    Vegye figyelembe, hogy a magasabb termékváltozatra való frissítés a díjszabás megváltozásához vezethet, és az üzembe helyezés költségei növekedhetnek. Mivel azonban a frissítési folyamat várhatóan nem tart sokáig, a hozzáadott költségek nem lehetnek jelentősek.

Következő lépések