Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:
Azure Database for MySQL – rugalmas kiszolgáló
Az Azure Database for MySQL számos beépített tárolt eljárást biztosít, amelyek leegyszerűsítik és automatizálják a speciális adatbázis-kezelési feladatokat. Ezek a tárolt eljárások segítenek hatékonyan konfigurálni az olyan funkciókat, mint a bejövő adatreplikáció, az Undo napló tisztítása és a bővítmények kezelése.
Ez a cikk bemutatja az Azure Database for MySQL-ben elérhető beépített tárolt eljárásokat, azok funkcióit és használatát.
Az aktuálisan elérhető beépített tárolt eljárások
1. Bejövő adatok replikációjának kezelése
Az Azure Database for MySQL tárolt eljárásokat biztosít az adatok replikációjának kezeléséhez, beleértve a indítást, a leállítást, az állapot ellenőrzését és a replikáció alaphelyzetbe állítását.
Az eljárásokkal kapcsolatos részletekért tekintse meg az Azure Database for MySQL rugalmas kiszolgálói adatok replikációjának konfigurálását ismertető cikket.
2. Beépülő modulok kezelése
Az Azure Database for MySQL támogatja a Jelszó érvényesítése beépülő modult, amely a jelszóerősség-szabályzatokat kényszeríti ki. A felhasználók a következő tárolt eljárásokkal engedélyezhetik vagy tilthatják le ezt a beépülő modult:
Engedélyezze a jelszóellenőrző beépülő modult
CALL az_install_validate_password_plugin();
A beépülő modul engedélyezése után megtekintheti és konfigurálhatja a kapcsolódó paramétereket az Azure Portal Kiszolgálóparaméterek lapján.
A jelszó érvényesítése beépülő modul letiltása
CALL az_uninstall_validate_password_plugin();
Ez a tárolt eljárás eltávolítja a beépülő modult.
Megjegyzés:
- Ha (magas rendelkezésre állású) kiszolgálók esetén először hajtsa végre ezeket a tárolt eljárásokat az elsődleges kiszolgálón. Ezután hajtson végre egy kényszerített átváltást, és futtassa újra a tárolt eljárásokat az új elsődleges szerveren.
- Replikakiszolgálók esetén a tárolt eljárások elsődlegesen való végrehajtása nem szinkronizálja automatikusan a replikákkal. Manuálisan hajtsa végre őket mindegyik replikán, miután futtatta őket az elsődleges példányon.
3. Visszavonási napló tisztítása
Bizonyos esetekben előfordulhat, hogy a visszavonási napló mérete megnő, és érdemes lehet törölni. Az Azure Database for MySQL tárolt eljárást biztosít a feladat elvégzéséhez.
- A táblaterület ellenőrzéséhez először hajtsa végre a következő parancsot.
SELECT NAME, FILE_SIZE, STATE FROM INFORMATION_SCHEMA.INNODB_TABLESPACES WHERE SPACE_TYPE = 'Undo' AND STATE = 'active' ORDER BY NAME; - Ha úgy találja, hogy a visszavonási napló nagy, hívja meg a következő parancsot egy új táblaterület létrehozásához.
Jelenleg legfeljebb nyolc táblateret támogatunk, köztük két alapértelmezettet. Az X értéknek 3 és 8 között kell lennie. A parancs befejeződése után az új táblatérnek aktív állapotban kell lennie.call az_create_undo_tablespace(X) - Hajtsa végre a következő parancsot a innodb_undo_001 inaktiválásához (alapértelmezett).
Ezután várja meg, amíg a innodb_undo_001 állapota üres lesz (ez azt jelenti, hogy a visszavonási napló csonkolt).call az_deactivate_undo_tablespace(1)
A visszavonási napló csonkolásának ellenőrzéséhez ellenőrizze a Visszavonási táblaterek ellenőrzése elemet - Hajtsa végre a következő parancsot a innodb_undo_001 (alapértelmezett) aktiválásához.
Ezután várja meg, amíg a innodb_undo_001 állapota aktív lesz.call az_activate_undo_tablespace(1) - Ismételje meg a innodb_undo_002 1-4 lépését.
- Az újonnan létrehozott táblaterület inaktiválásához hajtsa végre a végrehajtást
call az_deactivate_undo_tablespace(3);. Várjon, amíg az állapot üres lesz. Ezután hajtsa végreCall az_drop_undo_tablespace(3);az újonnan létrehozott táblaterület törléséhez. Az alapértelmezetteket (innodb_undo_001, innodb_undo_002) nem lehet elvetni. Csak azt engedheti el, amit Ön hozott létre, ebben a példában a x_undo_003-at. Az elhagyás előtt először inaktiválja a x_undo_003-at, hogy az üres állapotba kerüljön.
Táblaterületek visszaállításának ellenőrzése
Visszavonási táblatér kiürítése előtt győződjön meg arról, hogy nincsenek aktív tranzakciók:
SELECT COUNT(1) FROM information_schema.innodb_trx;
- Ha az eredmény 0, nincsenek aktív tranzakciók.
- A visszavonási táblatér csak akkor üríthető ki, ha ez a szám nulla.
Miután meggyőződött arról, hogy a tranzakciók elértek nullát, ellenőrizze a visszavonási táblaterek állapotát:
SELECT NAME, FILE_SIZE, STATE
FROM information_schema.innodb_tablespaces
WHERE SPACE_TYPE = 'Undo'
ORDER BY NAME;
Problémás tábla elvetése
Ha a táblázat elérésekor az alábbihoz hasonló hibaüzenet jelenik meg, az a tábla sérülésére utalhat:
Incorrect information in file: './DATABASE_NAME/TABLE_NAME.frm'
A probléma megoldásához használhatja a beépített tárolt eljárást:
mysql.az_drop_broken_table(DBNAME, TABLENAME)
Az eljárás végrehajtása után ajánlott újraindítani a kiszolgálót, hogy a módosítások érvénybe lépjenek.
Azt is megteheti, hogy időponthoz kötött visszaállítást hajt végre a kiszolgáló állapotának visszaállításához a probléma bekövetkezése előtt.
Következtetés
Az Azure Database for MySQL beépített tárolt eljárásokat biztosít, amelyek leegyszerűsítik a speciális adatbázis-kezelési feladatokat. Ezek az eljárások lehetővé teszik a replikáció beállítását, a visszavonási napló kezelését és a beépülő modulok hatékony engedélyezését. Ezen eszközök alkalmazásával javíthatja a teljesítményt, optimalizálhatja a tárolást, és zökkenőmentes adatszinkronizálást biztosíthat.