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 ; parancsotXA 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:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
Az Azure Portalon válassza ki a meglévő rugalmas Azure Database for MySQL-kiszolgálót 5.7-es kiszolgálón.
Olvasási replika létrehozása az elsődleges kiszolgálóról.
Frissítse az olvasási replikát a 8.0-s verzióra.
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.
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.
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.
Az olvasási replika előléptetése elsődlegesre a replikáció leállításával.
Á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.
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
- További információ a rugalmas Azure Database for MySQL-kiszolgálópéldány ütemezett karbantartásának konfigurálásáról.
- További információ a MySQL 8.0-s verziójának újdonságairól.