Kiszolgálóparaméterek az Azure Database for MySQL-ben
A következőkre vonatkozik: Azure Database for MySQL – Önálló kiszolgáló
Fontos
Az önálló Azure Database for MySQL-kiszolgáló a kivonási útvonalon van. Határozottan javasoljuk, hogy frissítsen rugalmas Azure Database for MySQL-kiszolgálóra. További információ a rugalmas Azure Database for MySQL-kiszolgálóra való migrálásról: Mi történik az önálló Azure Database for MySQL-kiszolgálóval?
Ez a cikk a kiszolgálóparaméterek Azure Database for MySQL-ben való konfigurálásának szempontjait és irányelveit ismerteti.
Mik azok a kiszolgálóparaméterek?
A MySQL-motor számos különböző kiszolgálóváltozót és paramétert biztosít, amelyekkel konfigurálhatja és hangolhatja a motor viselkedését. Egyes paraméterek futásidőben dinamikusan állíthatók be, míg mások statikusak, és a kiszolgáló újraindítását igénylik az alkalmazáshoz.
Az Azure Database for MySQL lehetővé teszi a különböző MySQL-kiszolgálóparaméterek értékének módosítását az Azure Portal, az Azure CLI és a PowerShell használatával a számítási feladatok igényeinek megfelelően.
Konfigurálható kiszolgálóparaméterek
A támogatott kiszolgálóparaméterek listája folyamatosan növekszik. Az Azure Portalon a kiszolgálóparaméterek lapon tekintheti meg a teljes listát, és konfigurálhatja a kiszolgálóparaméterek értékeit.
A gyakran frissített kiszolgálóparaméterek korlátairól az alábbi szakaszokban olvashat bővebben. A korlátokat a kiszolgáló tarifacsomagja és virtuális magjai határozzák meg.
Szálkészletek
A MySQL hagyományosan minden ügyfélkapcsolathoz hozzárendel egy szálat. Az egyidejű felhasználók számának növekedésével párhuzamosan csökken a teljesítmény. Számos aktív szál jelentősen befolyásolhatja a teljesítményt a környezetváltás, a szálak versengése és a cpu-gyorsítótárak rossz helyének köszönhetően.
A szálkészletek, a kiszolgálóoldali funkciók és a kapcsolatkészletezéstől eltérő funkció maximalizálják a teljesítményt a feldolgozószálak dinamikus készletének bevezetésével. Ezzel a funkcióval korlátozhatja a kiszolgálón futó aktív szálak számát, és minimalizálhatja a szálváltozást. Ez segít biztosítani, hogy a kapcsolatok megszakadása ne okozza a kiszolgáló számára az erőforrások vagy a memória elfogyását. A szálkészletek a leghatékonyabbak a rövid lekérdezésekhez és a processzorigényes számítási feladatokhoz, például az OLTP-számítási feladatokhoz.
További információ: A szálkészletek bemutatása az Azure Database for MySQL-ben.
Megjegyzés:
A MySQL 5.6 nem támogatja a szálkészleteket.
A szálkészlet konfigurálása
A szálkészlet engedélyezéséhez frissítse a kiszolgáló paraméterét a thread_handling
következőre pool-of-threads
: . Ez a paraméter alapértelmezés szerint a következőre van állítva, ami azt jelenti, hogy one-thread-per-connection
a MySQL minden új kapcsolathoz létrehoz egy új szálat. Ez egy statikus paraméter, és a kiszolgáló újraindítását igényli.
A készletben lévő szálak maximális és minimális számát a következő kiszolgálóparaméterek beállításával is konfigurálhatja:
thread_pool_max_threads
: Ez az érték korlátozza a készletben lévő szálak számát.thread_pool_min_threads
: Ez az érték beállítja a fenntartott szálak számát, még a kapcsolatok bezárása után is.
A szálkészlet rövid lekérdezéseinek teljesítményproblémáinak javítása érdekében engedélyezheti a kötegelt végrehajtást. Ahelyett, hogy a lekérdezés futtatása után azonnal visszatér a szálkészlethez, a szálak rövid ideig aktívak maradnak, hogy a kapcsolaton keresztül várják a következő lekérdezést. A szál ezután gyorsan futtatja a lekérdezést, és ha ez befejeződött, a szál megvárja a következőt. Ez a folyamat addig folytatódik, amíg a teljes eltöltött idő meghaladja a küszöbértéket.
A kötegelt végrehajtás viselkedését a következő kiszolgálóparaméterek használatával határozhatja meg:
thread_pool_batch_wait_timeout
: Ez az érték azt határozza meg, hogy egy szál mennyi ideig vár egy másik lekérdezés feldolgozására.thread_pool_batch_max_time
: Ez az érték határozza meg, hogy egy szál mennyi ideig ismételje meg a lekérdezés végrehajtásának ciklusát, és várja meg a következő lekérdezést.
Fontos
Ne kapcsolja be a szálkészletet éles környezetben, amíg nem teszteli.
log_bin_trust_function_creators
Az Azure Database for MySQL-ben a bináris naplók mindig engedélyezve vannak (a log_bin
paraméter értéke ON
). Ha eseményindítókat szeretne használni, a következőhöz hasonló hibaüzenet jelenik meg: Nem rendelkezik SUPER jogosultsággal, és a bináris naplózás engedélyezve van (lehet, hogy a kevésbé biztonságos log_bin_trust_function_creators
változót szeretné használni).
A bináris naplózás formátuma mindig SOR, és a kiszolgálóhoz csatlakozó összes kapcsolat mindig soralapú bináris naplózást használ. A soralapú bináris naplózás segít fenntartani a biztonságot, és a bináris naplózás nem tud megtörni, így biztonságosan beállíthatja a következőt log_bin_trust_function_creators
TRUE
: .
innodb_buffer_pool_size
A paraméterről további információt a MySQL dokumentációjában talál.
Kiszolgálók általános célú tároló 1-ben (legfeljebb 4 TB-ot támogatnak)
Tarifacsomag | virtuális mag(ok) | Alapértelmezett érték (bájt) | Minimális érték (bájt) | Maximális érték (bájt) |
---|---|---|---|---|
Basic | 1 | 872415232 | 134217728 | 872415232 |
Basic | 2 | 2684354560 | 134217728 | 2684354560 |
General Purpose | 2 | 3758096384 | 134217728 | 3758096384 |
General Purpose | 4 | 8053063680 | 134217728 | 8053063680 |
General Purpose | 8 | 16106127360 | 134217728 | 16106127360 |
General Purpose | 16 | 32749125632 | 134217728 | 32749125632 |
General Purpose | 32 | 66035122176 | 134217728 | 66035122176 |
General Purpose | 64 | 132070244352 | 134217728 | 132070244352 |
Memory Optimized | 2 | 7516192768 | 134217728 | 7516192768 |
Memory Optimized | 4 | 16106127360 | 134217728 | 16106127360 |
Memory Optimized | 8 | 32212254720 | 134217728 | 32212254720 |
Memory Optimized | 16 | 65498251264 | 134217728 | 65498251264 |
Memory Optimized | 32 | 132070244352 | 134217728 | 132070244352 |
Kiszolgálók általános célú tároló 2-ben (legfeljebb 16 TB-ot támogatnak)
Tarifacsomag | virtuális mag(ok) | Alapértelmezett érték (bájt) | Minimális érték (bájt) | Maximális érték (bájt) |
---|---|---|---|---|
Basic | 1 | 872415232 | 134217728 | 872415232 |
Basic | 2 | 2684354560 | 134217728 | 2684354560 |
General Purpose | 2 | 7516192768 | 134217728 | 7516192768 |
General Purpose | 4 | 16106127360 | 134217728 | 16106127360 |
General Purpose | 8 | 32212254720 | 134217728 | 32212254720 |
General Purpose | 16 | 65498251264 | 134217728 | 65498251264 |
General Purpose | 32 | 132070244352 | 134217728 | 132070244352 |
General Purpose | 64 | 264140488704 | 134217728 | 264140488704 |
Memory Optimized | 2 | 15032385536 | 134217728 | 15032385536 |
Memory Optimized | 4 | 32212254720 | 134217728 | 32212254720 |
Memory Optimized | 8 | 64424509440 | 134217728 | 64424509440 |
Memory Optimized | 16 | 130996502528 | 134217728 | 130996502528 |
Memory Optimized | 32 | 264140488704 | 134217728 | 264140488704 |
innodb_file_per_table
A MySQL a InnoDB
tábla létrehozása során megadott konfiguráció alapján különböző táblaterekben tárolja a táblát. A rendszer táblatere az adatszótár tárolási területe InnoDB
. A táblánkénti fájltér egyetlen InnoDB
tábla adatait és indexeit tartalmazza, és a fájlrendszerben tárolja a saját adatfájljában.
Ezt a viselkedést a innodb_file_per_table
kiszolgálóparaméterrel szabályozhatja. OFF
Táblák létrehozásának okainak InnoDB
beállítása innodb_file_per_table
a rendszer táblaterében. InnoDB
Ellenkező esetben táblákat hoz létre a fájlonkénti táblaterekben.
Megjegyzés:
Csak az általános célú és a memóriaoptimalizált tarifacsomagokban frissíthet innodb_file_per_table
az általános célú tárolás v2 és az általános célú tárolás 1.
Az Azure Database for MySQL egyetlen adatfájlban 4 TB-ot (a legnagyobbat) támogat az általános célú tárolás v2-n. Ha az adatbázis mérete 4 TB-nál nagyobb, akkor a táblát a innodb_file_per_table táblatérben kell létrehoznia. Ha egyetlen, 4 TB-nál nagyobb táblázatmérete van, használja a partíciótáblát.
join_buffer_size
A paraméterről további információt a MySQL dokumentációjában talál.
Tarifacsomag | virtuális mag(ok) | Alapértelmezett érték (bájt) | Minimális érték (bájt) | Maximális érték (bájt) |
---|---|---|---|---|
Basic | 1 | Alapszintű szinten nem konfigurálható | N.A. | N.A. |
Basic | 2 | Alapszintű szinten nem konfigurálható | N.A. | N.A. |
General Purpose | 2 | 262144 | 128 | 268435455 |
General Purpose | 4 | 262144 | 128 | 536870912 |
General Purpose | 8 | 262144 | 128 | 1073741824 |
General Purpose | 16 | 262144 | 128 | 2147483648 |
General Purpose | 32 | 262144 | 128 | 4294967295 |
General Purpose | 64 | 262144 | 128 | 4294967295 |
Memory Optimized | 2 | 262144 | 128 | 536870912 |
Memory Optimized | 4 | 262144 | 128 | 1073741824 |
Memory Optimized | 8 | 262144 | 128 | 2147483648 |
Memory Optimized | 16 | 262144 | 128 | 4294967295 |
Memory Optimized | 32 | 262144 | 128 | 4294967295 |
max_connections
Tarifacsomag | virtuális mag(ok) | Alapértelmezett érték | Minimális érték | Maximális érték |
---|---|---|---|---|
Basic | 1 | 50 | 10 | 50 |
Basic | 2 | 100 | 10 | 100 |
General Purpose | 2 | 300 | 10 | 600 |
General Purpose | 4 | 625 | 10 | 1250 |
General Purpose | 8 | 1250 | 10 | 2500 |
General Purpose | 16 | 2500 | 10 | 5000 |
General Purpose | 32 | 5000 | 10 | 10000 |
General Purpose | 64 | 10000 | 10 | 20000 |
Memory Optimized | 2 | 625 | 10 | 1250 |
Memory Optimized | 4 | 1250 | 10 | 2500 |
Memory Optimized | 8 | 2500 | 10 | 5000 |
Memory Optimized | 16 | 5000 | 10 | 10000 |
Memory Optimized | 32 | 10000 | 10 | 20000 |
Ha a kapcsolatok száma meghaladja a korlátot, hibaüzenet jelenhet meg.
Tipp.
A kapcsolatok hatékony kezeléséhez érdemes egy kapcsolatkészletezőt, például a ProxySQL-t használni. A ProxySQL beállításáról a Load Balance olvasási replikák proxySQL használatával történő terheléselosztása az Azure Database for MySQL-ben című blogbejegyzésben olvashat. Vegye figyelembe, hogy a ProxySQL egy nyílt forráskód közösségi eszköz. A Microsoft minden tőle telhetőt megtesz.
max_heap_table_size
A paraméterről további információt a MySQL dokumentációjában talál.
Tarifacsomag | virtuális mag(ok) | Alapértelmezett érték (bájt) | Minimális érték (bájt) | Maximális érték (bájt) |
---|---|---|---|---|
Basic | 1 | Alapszintű szinten nem konfigurálható | N.A. | N.A. |
Basic | 2 | Alapszintű szinten nem konfigurálható | N.A. | N.A. |
General Purpose | 2 | 16777216 | 16384 | 268435455 |
General Purpose | 4 | 16777216 | 16384 | 536870912 |
General Purpose | 8 | 16777216 | 16384 | 1073741824 |
General Purpose | 16 | 16777216 | 16384 | 2147483648 |
General Purpose | 32 | 16777216 | 16384 | 4294967295 |
General Purpose | 64 | 16777216 | 16384 | 4294967295 |
Memory Optimized | 2 | 16777216 | 16384 | 536870912 |
Memory Optimized | 4 | 16777216 | 16384 | 1073741824 |
Memory Optimized | 8 | 16777216 | 16384 | 2147483648 |
Memory Optimized | 16 | 16777216 | 16384 | 4294967295 |
Memory Optimized | 32 | 16777216 | 16384 | 4294967295 |
query_cache_size
A lekérdezési gyorsítótár alapértelmezés szerint ki van kapcsolva. A lekérdezési gyorsítótár engedélyezéséhez konfigurálja a paramétert query_cache_type
.
A paraméterről további információt a MySQL dokumentációjában talál.
Megjegyzés:
A lekérdezési gyorsítótár elavult a MySQL 5.7.20-as verziójától, és a MySQL 8.0-s verziójában el lett távolítva.
Tarifacsomag | virtuális mag(ok) | Alapértelmezett érték (bájt) | Minimális érték (bájt) | Maximális érték |
---|---|---|---|---|
Basic | 1 | Alapszintű szinten nem konfigurálható | N.A. | N.A. |
Basic | 2 | Alapszintű szinten nem konfigurálható | N.A. | N.A. |
General Purpose | 2 | 0 | 0 | 16777216 |
General Purpose | 4 | 0 | 0 | 33554432 |
General Purpose | 8 | 0 | 0 | 67108864 |
General Purpose | 16 | 0 | 0 | 134217728 |
General Purpose | 32 | 0 | 0 | 134217728 |
General Purpose | 64 | 0 | 0 | 134217728 |
Memory Optimized | 2 | 0 | 0 | 33554432 |
Memory Optimized | 4 | 0 | 0 | 67108864 |
Memory Optimized | 8 | 0 | 0 | 134217728 |
Memory Optimized | 16 | 0 | 0 | 134217728 |
Memory Optimized | 32 | 0 | 0 | 134217728 |
lower_case_table_names
A lower_case_table_name
paraméter alapértelmezés szerint 1 értékre van állítva, és ezt a paramétert frissítheti a MySQL 5.6-ban és a MySQL 5.7-ben.
A paraméterről további információt a MySQL dokumentációjában talál.
Megjegyzés:
A MySQL 8.0-ban lower_case_table_name
alapértelmezés szerint 1 értékre van állítva, és nem módosíthatja.
innodb_strict_mode
Ha hasonló hibaüzenetet kap, érdemes kikapcsolni Row size too large (> 8126)
a paramétert innodb_strict_mode
. Globálisan nem módosítható innodb_strict_mode
a kiszolgáló szintjén. Ha a sorok adatmérete nagyobb, mint 8K, az adatok csonkulnak, hibaértesítés nélkül, ami potenciális adatvesztéshez vezet. Érdemes úgy módosítani a sémát, hogy megfeleljen az oldalméretkorlátnak.
Ezt a paramétert munkamenetszinten állíthatja be a következő használatával init_connect
: . A munkamenet szintjén történő beállításhoz innodb_strict_mode
tekintse meg a nem listázott beállítási paramétert.
Megjegyzés:
Ha olvasási replikakiszolgálóval rendelkezik, a forráskiszolgáló munkamenet szintjén történő beállítása innodb_strict_mode
OFF
megszakítja a replikációt. Javasoljuk, hogy ON
az olvasási replikák esetén állítsa be a paramétert.
sort_buffer_size
A paraméterről további információt a MySQL dokumentációjában talál.
Tarifacsomag | virtuális mag(ok) | Alapértelmezett érték (bájt) | Minimális érték (bájt) | Maximális érték (bájt) |
---|---|---|---|---|
Basic | 1 | Alapszintű szinten nem konfigurálható | N.A. | N.A. |
Basic | 2 | Alapszintű szinten nem konfigurálható | N.A. | N.A. |
General Purpose | 2 | 524288 | 32 768 | 4194304 |
General Purpose | 4 | 524288 | 32 768 | 8388608 |
General Purpose | 8 | 524288 | 32 768 | 16777216 |
General Purpose | 16 | 524288 | 32 768 | 33554432 |
General Purpose | 32 | 524288 | 32 768 | 33554432 |
General Purpose | 64 | 524288 | 32 768 | 33554432 |
Memory Optimized | 2 | 524288 | 32 768 | 8388608 |
Memory Optimized | 4 | 524288 | 32 768 | 16777216 |
Memory Optimized | 8 | 524288 | 32 768 | 33554432 |
Memory Optimized | 16 | 524288 | 32 768 | 33554432 |
Memory Optimized | 32 | 524288 | 32 768 | 33554432 |
tmp_table_size
A paraméterről további információt a MySQL dokumentációjában talál.
Tarifacsomag | virtuális mag(ok) | Alapértelmezett érték (bájt) | Minimális érték (bájt) | Maximális érték (bájt) |
---|---|---|---|---|
Basic | 1 | Alapszintű szinten nem konfigurálható | N.A. | N.A. |
Basic | 2 | Alapszintű szinten nem konfigurálható | N.A. | N.A. |
General Purpose | 2 | 16777216 | 1024 | 67108864 |
General Purpose | 4 | 16777216 | 1024 | 134217728 |
General Purpose | 8 | 16777216 | 1024 | 268435456 |
General Purpose | 16 | 16777216 | 1024 | 536870912 |
General Purpose | 32 | 16777216 | 1024 | 1073741824 |
General Purpose | 64 | 16777216 | 1024 | 1073741824 |
Memory Optimized | 2 | 16777216 | 1024 | 134217728 |
Memory Optimized | 4 | 16777216 | 1024 | 268435456 |
Memory Optimized | 8 | 16777216 | 1024 | 536870912 |
Memory Optimized | 16 | 16777216 | 1024 | 1073741824 |
Memory Optimized | 32 | 16777216 | 1024 | 1073741824 |
InnoDB pufferkészlet bemelegítése
Az Azure Database for MySQL újraindítása után a rendszer betölti a lemezen található adatlapokat a táblák lekérdezése során. Ez a lekérdezések első futtatása során megnövekedett késéshez és lassabb teljesítményhez vezet. A késésre érzékeny számítási feladatok esetében előfordulhat, hogy ez a lassabb teljesítmény elfogadhatatlan.
A pufferkészlet bemelegítésével InnoDB
lerövidítheti a bemelegítési időszakot. Ez a folyamat újra betölti a pufferkészletben lévő lemezlapokat az újraindítás előtt, ahelyett, hogy a DML- vagy Standard kiadás LECT-műveletekre vár a megfelelő sorok eléréséhez. További információ: InnoDB pufferkészlet-kiszolgáló paraméterei.
A jobb teljesítmény azonban a kiszolgáló hosszabb indítási idejének rovására megy. Ha engedélyezi ezt a paramétert, a kiszolgáló indítási és újraindítási ideje várhatóan nőni fog a kiszolgálón kiépített IOPS-tól függően. Érdemes tesztelni és figyelni az újraindítási időt, hogy az indítási vagy újraindítási teljesítmény elfogadható legyen, mivel a kiszolgáló nem érhető el ez idő alatt. Ne használja ezt a paramétert, ha a kiépített IOPS száma kisebb, mint 1000 IOPS (vagyis ha a kiépített tárterület kisebb, mint 335 GB).
A pufferkészlet állapotának kiszolgálóleállításkor történő mentéséhez állítsa a kiszolgálóparamétert innodb_buffer_pool_dump_at_shutdown
a következőre ON
: . Hasonlóképpen állítsa be a kiszolgálóparamétert innodb_buffer_pool_load_at_startup
ON
a pufferkészlet állapotának visszaállítására a kiszolgáló indításakor. A kiszolgálóparaméter innodb_buffer_pool_dump_pct
értékének csökkentésével és finomhangolásával szabályozhatja az indításra vagy újraindításra gyakorolt hatást. Ez a paraméter alapértelmezés szerint a következőre 25
van állítva: .
Megjegyzés:
InnoDB
a pufferkészlet bemelegítési paraméterei csak az általános célú, legfeljebb 16 TB tárterülettel rendelkező tárolókiszolgálókon támogatottak. További információkért tekintse meg az Azure Database for MySQL tárolási lehetőségeit.
time_zone
A kezdeti üzembe helyezéskor az Azure Database for MySQL-t futtató kiszolgáló rendszertáblákat tartalmaz az időzóna-információkhoz, de ezek a táblák nincsenek feltöltve. A táblákat feltöltheti úgy, hogy meghívja a mysql.az_load_timezone
tárolt eljárást olyan eszközökről, mint a MySQL parancssor vagy a MySQL Workbench. A tárolt eljárások meghívásáról és a globális vagy munkamenetszintű időzónák beállításáról további információt az időzóna paraméterrel (Azure Portal) vagy az időzóna paraméterrel (Azure CLI) végzett munka című témakörben talál.
binlog_expire_logs_seconds
Az Azure Database for MySQL-ben ez a paraméter határozza meg, hogy a szolgáltatás hány másodpercet vár a bináris naplófájl törlése előtt.
A bináris napló olyan eseményeket tartalmaz, amelyek az adatbázis változásait írják le, például a táblalétrehozási műveleteket vagy a táblaadatok módosítását. Olyan utasítások eseményeit is tartalmazza, amelyek esetleg módosításokat hajthatnak végre. A bináris naplót főként két célra, replikációs és adat-helyreállítási műveletekre használják.
A bináris naplók általában azonnal törlődnek, amint a leíró szolgáltatástól, biztonsági mentéstől vagy replikakészlettől mentes. Ha több replika is létezik, a bináris naplók megvárják, amíg a leglassabb replika felolvassa a módosításokat a törlés előtt. Ha azt szeretné, hogy a bináris naplók hosszabb ideig megmaradjanak, konfigurálhatja a paramétert binlog_expire_logs_seconds
. Ha az alapértelmezett értékre 0
van állítvabinlog_expire_logs_seconds
, akkor a bináris napló leírójának felszabadítása után azonnal törlődik. Ha 0-nál nagyobb értékre van állítva binlog_expire_logs_seconds
, akkor a bináris napló csak az adott időszak után törlődik.
Az Azure Database for MySQL esetében a felügyelt funkciók, például a bináris fájlok biztonsági mentése és olvasási replika törlése belsőleg lesznek kezelve. Ha az adatokat az Azure Database for MySQL szolgáltatásból replikálja, ezt a paramétert az elsődleges helyen kell beállítania, hogy elkerülje a bináris naplók kiürítését, mielőtt a replika beolvassa az elsődleges módosításokat. Ha magasabb értékre állítja a binlog_expire_logs_seconds
függvényt, akkor a bináris naplók nem lesznek elég hamar kiürítve. Ez a tárterület számlázásának növekedéséhez vezethet.
event_scheduler
Az Azure Database for MySQL-ben a kiszolgálóparaméter kezeli az event_schedule
ütemezés szerint futó események létrehozását, ütemezését és futtatását, és egy speciális eseményütemező-szál futtatja őket. Ha a event_scheduler
paraméter BE értékre van állítva, az eseményütemező szál démonfolyamatként jelenik meg a SHOW PROCESSLIST kimenetében. Eseményeket az alábbi SQL-szintaxissal hozhat létre és ütemezhet:
CREATE EVENT <event name>
ON SCHEDULE EVERY _ MINUTE / HOUR / DAY
STARTS TIMESTAMP / CURRENT_TIMESTAMP
ENDS TIMESTAMP / CURRENT_TIMESTAMP + INTERVAL 1 MINUTE / HOUR / DAY
COMMENT ‘<comment>’
DO
<your statement>;
Megjegyzés:
Az esemény létrehozásával kapcsolatos további információkért tekintse meg a MySQL Eseményütemező dokumentációját itt:
A event_scheduler kiszolgálóparaméter konfigurálása
Az alábbi forgatókönyv bemutatja, hogyan használhatja a paramétert az event_scheduler
Azure Database for MySQL-ben. A forgatókönyv bemutatásához tekintse meg az alábbi példát, egy egyszerű táblát:
mysql> describe tab1;
+-----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| CreatedAt | timestamp | YES | | NULL | |
| CreatedBy | varchar(16) | YES | | NULL | |
+-----------+-------------+------+-----+---------+----------------+
3 rows in set (0.23 sec)
A kiszolgálóparaméter Azure event_scheduler
Database for MySQL-ben való konfigurálásához hajtsa végre a következő lépéseket:
Az Azure Portalon keresse meg a kiszolgálót, majd a Gépház alatt válassza ki a Kiszolgáló paramétereit.
A Kiszolgálóparaméterek panelen keresse meg
event_scheduler
az ÉRTÉK legördülő listában a BE, majd a Mentés lehetőséget.Megjegyzés:
A dinamikus kiszolgálóparaméter konfigurációjának módosítása újraindítás nélkül lesz üzembe helyezve.
Ezután hozzon létre egy eseményt, csatlakozzon a MySQL-kiszolgálóhoz, és futtassa a következő SQL-parancsot:
CREATE EVENT test_event_01 ON SCHEDULE EVERY 1 MINUTE STARTS CURRENT_TIMESTAMP ENDS CURRENT_TIMESTAMP + INTERVAL 1 HOUR COMMENT ‘Inserting record into the table tab1 with current timestamp’ DO INSERT INTO tab1(id,createdAt,createdBy) VALUES('',NOW(),CURRENT_USER());
Az Eseményütemező részleteinek megtekintéséhez futtassa a következő SQL-utasítást:
SHOW EVENTS;
Az alábbi kimenet jelenik meg:
mysql> show events; +-----+---------------+-------------+-----------+-----------+------------+----------------+----------------+---------------------+---------------------+---------+------------+----------------------+----------------------+--------------------+ | Db | Name | Definer | Time zone | Type | Execute at | Interval value | Interval field | Starts | Ends | Status | Originator | character_set_client | collation_connection | Database Collation | +-----+---------------+-------------+-----------+-----------+------------+----------------+----------------+---------------------+---------------------+---------+------------+----------------------+----------------------+--------------------+ | db1 | test_event_01 | azureuser@% | SYSTEM | RECURRING | NULL | 1 | MINUTE | 2023-04-05 14:47:04 | 2023-04-05 15:47:04 | ENABLED | 3221153808 | latin1 | latin1_swedish_ci | latin1_swedish_ci | +-----+---------------+-------------+-----------+-----------+------------+----------------+----------------+---------------------+---------------------+---------+------------+----------------------+----------------------+--------------------+ 1 row in set (0.23 sec)
Néhány perc elteltével a tábla sorait lekérdezve megkezdheti a percenként beszúrt sorok megtekintését a
event_scheduler
konfigurált paraméter szerint:mysql> select * from tab1; +----+---------------------+-------------+ | id | CreatedAt | CreatedBy | +----+---------------------+-------------+ | 1 | 2023-04-05 14:47:04 | azureuser@% | | 2 | 2023-04-05 14:48:04 | azureuser@% | | 3 | 2023-04-05 14:49:04 | azureuser@% | | 4 | 2023-04-05 14:50:04 | azureuser@% | +----+---------------------+-------------+ 4 rows in set (0.23 sec)
Egy óra elteltével futtasson egy Select utasítást a táblán a táblázatba percenként beszúrt értékek teljes eredményének megtekintéséhez az
event_scheduler
esetünkben konfigurált módon.mysql> select * from tab1; +----+---------------------+-------------+ | id | CreatedAt | CreatedBy | +----+---------------------+-------------+ | 1 | 2023-04-05 14:47:04 | azureuser@% | | 2 | 2023-04-05 14:48:04 | azureuser@% | | 3 | 2023-04-05 14:49:04 | azureuser@% | | 4 | 2023-04-05 14:50:04 | azureuser@% | | 5 | 2023-04-05 14:51:04 | azureuser@% | | 6 | 2023-04-05 14:52:04 | azureuser@% | ..< 50 lines trimmed to compact output >.. | 56 | 2023-04-05 15:42:04 | azureuser@% | | 57 | 2023-04-05 15:43:04 | azureuser@% | | 58 | 2023-04-05 15:44:04 | azureuser@% | | 59 | 2023-04-05 15:45:04 | azureuser@% | | 60 | 2023-04-05 15:46:04 | azureuser@% | | 61 | 2023-04-05 15:47:04 | azureuser@% | +----+---------------------+-------------+ 61 rows in set (0.23 sec)
Egyéb forgatókönyvek
Az eseményt az adott forgatókönyv követelményei alapján állíthatja be. Néhány hasonló példa az SQL-utasítások különböző időközönként történő futtatásának ütemezésére.
Futtasson most egy SQL-utasítást, és ismételje meg naponta egyszer, befejezés nélkül
CREATE EVENT <event name>
ON SCHEDULE
EVERY 1 DAY
STARTS (TIMESTAMP(CURRENT_DATE) + INTERVAL 1 DAY + INTERVAL 1 HOUR)
COMMENT 'Comment'
DO
<your statement>;
SQL-utasítás futtatása óránként, vége nélkül
CREATE EVENT <event name>
ON SCHEDULE
EVERY 1 HOUR
COMMENT 'Comment'
DO
<your statement>;
SQL-utasítás futtatása minden nap vége nélkül
CREATE EVENT <event name>
ON SCHEDULE
EVERY 1 DAY
STARTS str_to_date( date_format(now(), '%Y%m%d 0200'), '%Y%m%d %H%i' ) + INTERVAL 1 DAY
COMMENT 'Comment'
DO
<your statement>;
Nem konfigurálható kiszolgálóparaméterek
A következő kiszolgálóparaméterek nem konfigurálhatók a szolgáltatásban:
Paraméter | Rögzített érték |
---|---|
innodb_file_per_table az alapszinten |
KI |
innodb_flush_log_at_trx_commit |
0 |
sync_binlog |
1 |
innodb_log_file_size |
256 MB |
innodb_log_files_in_group |
2 |
Az itt nem szereplő egyéb változók az alapértelmezett MySQL-értékekre vannak beállítva. Tekintse meg a MySQL-dokumentumokat a 8.0-s, 5.7-ös és 5.6-os verziókhoz.
További lépések
- Megtudhatja, hogyan konfigurálhatja a kiszolgálóparamétereket az Azure Portal használatával
- Megtudhatja, hogyan konfigurálhatja a kiszolgálóparamétereket az Azure CLI használatával
- Megtudhatja, hogyan konfigurálhatja a kiszolgálóparamétereket a PowerShell használatával