Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«MySQL: руководство профСссионала». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 38

Автор АлСксСй ΠŸΠ°ΡƒΡ‚ΠΎΠ²

Π”Π°. http://forums.mysql.com/list.php?100


7.4.2: Π§Ρ‚ΠΎ случаСтся с view, Ссли основная Ρ‚Π°Π±Π»ΠΈΡ†Π° ΡƒΠ΄Π°Π»Π΅Π½Π° ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π°?

ПослС создания view, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ (ΠΈΠ»ΠΈ view), ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ обращаСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ view для выявлСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ этого Π²ΠΈΠ΄Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ CHECK TABLE.


7.4.3: MySQL 5.1 ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠ°Π΄Ρ€Ρ‹ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹?

НСт.


7.4.4: MySQL 5.1 ΠΈΠΌΠ΅Π΅Ρ‚ осущСствлСнныС views?

НСт.


7.4.5: МоТно Π»ΠΈ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π²ΠΎ views, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ основаны Π½Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡΡ…?

Π­Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ссли Π’Π°ΡˆΠ° инструкция INSERT ΠΈΠΌΠ΅Π΅Ρ‚ список столбцов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прояснит, Ρ‡Ρ‚ΠΎ имССтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Π° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΠ°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π°. Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π² ΠΌΠ½ΠΎΠ³ΠΎ Ρ‚Π°Π±Π»ΠΈΡ† ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½ΠΎΠΉ вставкой Π½Π° view.

Π“Π»Π°Π²Π° 8. ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ событий

Π­Ρ‚Π° Π³Π»Π°Π²Π° описываСт ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ событий MySQL, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Ρ‹Π»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π² MySQL 5.1.6.

8.1. ΠžΠ±Π·ΠΎΡ€ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° событий

Бобытия MySQL ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ согласно ΠΏΠ»Π°Π½Ρƒ. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΌΡ‹ ΠΈΠ½ΠΎΠ³Π΄Π° обращаСмся ΠΊ Π½ΠΈΠΌ ΠΊΠ°ΠΊ ΠΊ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ событиям. Когда Π’Ρ‹ создаСтС событиС, Π’Ρ‹ создаСтС ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, содСрТащий ΠΎΠ΄Π½Ρƒ ΠΈΠ»ΠΈ большСС количСство инструкций SQL, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ рСгулярных ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°Ρ…, начиная ΠΈ заканчивая Π² ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π΄Π°Ρ‚Ρƒ ΠΈ врСмя. ΠšΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ, это ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΠΈΠ΄Π΅Π΅ Unix crontab (Ρ‚Π°ΠΊΠΆΠ΅ извСстно ΠΊΠ°ΠΊ cron job) ΠΈΠ»ΠΈ Windows Task Scheduler.

РСгламСнтная Ρ€Π°Π±ΠΎΡ‚Π° этого Ρ‚ΠΈΠΏΠ° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ½ΠΎΠ³Π΄Π° извСстна ΠΊΠ°ΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€, подразумСвая, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π·Π²Π°Π½ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π’ Ρ‚ΠΎ врСмя, ΠΊΠ°ΠΊ это ΠΏΠΎ сущСству ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, ΠΌΡ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ "события", Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ бСспорядка с понятиСм Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π°.

Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π½Π΅ имССтся Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ срСдства Π² стандартС SQL для планирования события, Π΅ΡΡ‚ΡŒ ΠΏΡ€Π΅Ρ†Π΅Π΄Π΅Π½Ρ‚Ρ‹ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… систСмах Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ подобия ΠΌΠ΅ΠΆΠ΄Ρƒ этими рСализациями.

Бобытия MySQL ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π³Π»Π°Π²Π½Ρ‹Π΅ свойства ΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹:


Π’ MySQL 5.1.12 ΠΈ ΠΏΠΎΠ·ΠΆΠ΅ событиС ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ схСмой, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ΠΎ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ. Π Π°Π½Π΅Π΅ событиС Π±Ρ‹Π»ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ для definer.


Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ выполняСт спСцифичСскоС дСйствиС согласно ΠΏΠ»Π°Π½Ρƒ. Π­Ρ‚ΠΎ дСйствиС состоит ΠΈΠ· инструкции SQL, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ составной. Бинхронизация события ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ одноразовая ΠΈΠ»ΠΈ тСкущая. ΠžΠ΄Π½ΠΎΡ€Π°Π·ΠΎΠ²ΠΎΠ΅ событиС выполняСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·. Π’Π΅ΠΊΡƒΡ‰Π΅Π΅ событиС повторяСт дСйствиС Π² рСгулярном ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π΅, ΠΈ ΠΏΠ»Π°Π½ для события ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ спСцифичСскоС Π½Π°Ρ‡Π°Π»ΠΎ (дСнь ΠΈ врСмя), ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ дСнь ΠΈ врСмя, ΠΎΠ±Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΈΠ»ΠΈ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ…. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ событиС начинаСтся, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ создано, ΠΈ продолТаСтся Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ΠΎ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΎ.


ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ, ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ события, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ инструкции SQL, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для этих Ρ†Π΅Π»Π΅ΠΉ. БинтаксичСски нСдопустимоС созданиС события ΠΈ инструкции ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ тСрпят Π½Π΅ΡƒΠ΄Π°Ρ‡Ρƒ с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ сообщСниСм ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² дСйствиС события инструкции, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ фактичСски Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ события ΠΈΠ»ΠΈ инструкция ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΉΠ΄Π΅Ρ‚ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Π½ΠΎ сбой Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ дСйствиС события.


МногиС ΠΈΠ· Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² события ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ установлСны ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ инструкции SQL. Π­Ρ‚ΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ имя события, ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ, постоянство (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, сохраняСтся Π»ΠΈ событиС послС окончания ΠΏΠ»Π°Π½Π°), состояниС (Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ ΠΈΠ»ΠΈ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ΠΎ), дСйствиС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ, ΠΈ схСма, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ событиС Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ.

definer события прСдставляСт собой ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создал событиС, Ссли событиС Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ, Ρ‚ΠΎΠ³Π΄Π° definer становится ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π΄Π°Π» послСднюю ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ALTER EVENT, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ‰ΡƒΡŽ это событиС. Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π»ΡŽΠ±Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡŽ EVENT Π½Π° Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ событиС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ. Π”ΠΎ MySQL 5.1.12 Ρ‚ΠΎΠ»ΡŒΠΊΠΎ definer события ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π΅ mysql.event, ΠΌΠΎΠ³ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π΄Π°Π½Π½ΠΎΠ΅ событиС.


Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ дСйствия события ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ инструкций SQL, Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ сохранСнных ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Бобытия Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° событий. ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΠΎΡ‚ΠΎΠΊ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° события ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΌΠ΅Ρ‡Π΅Π½Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌΠΈ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡŽ SUPER Π² Π²Ρ‹Π²ΠΎΠ΄Π΅ SHOW PROCESSLIST, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Π°Ρ пСрСмСнная event_scheduler опрСдСляСт, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π»ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΡƒ событий Π½Π° сСрвСрС. ΠŸΡ€ΠΈ запускС MySQL 5.1.12 это ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄Π½ΠΎ ΠΈΠ· этих 3 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ Π½Π° ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ события, ΠΊΠ°ΠΊ описано здСсь:


OFF: ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ остановлСн. ΠŸΠΎΡ‚ΠΎΠΊ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° события Π½Π΅ выполняСтся, Π½Π΅ показываСтся Π² Π²Ρ‹Π²ΠΎΠ΄Π΅ SHOW PROCESSLIST ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ события Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹. OFF являСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для event_scheduler.

Когда ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ событий остановлСн (event_scheduler установлСно Π² OFF), ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΡƒΡ‰Π΅Π½, устанавливая Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ event_scheduler Π² ON.


ON: ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚: ΠΏΠΎΡ‚ΠΎΠΊ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° событий выполняСтся сам ΠΈ выполняСт всС ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ события. ΠŸΠΎΡ‚ΠΎΠΊ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° событий пСрСчислСн Π² Π²Ρ‹Π²ΠΎΠ΄Π΅ SHOW PROCESSLIST ΠΊΠ°ΠΊ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΉ процСсс, ΠΈ Π΅Π³ΠΎ состояниС прСдставляСтся ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ здСсь:


mysql> SHOW PROCESSLIST \G

*************************** 1. row ***************************

Id: 1

User: root

Host: localhost

db: NULL

Command: Query

Time: 0

State: NULL

Info: show processlist

*************************** 2. row ***************************

Id: 2

User: event_scheduler

Host: localhost

db: NULL

Command: Daemon

Time: 3

State: Waiting for next activation

Info: NULL

2 rows in set (0.00 sec)


DISABLED: Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ событий Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ. Когда ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ событий Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½, Π΅Π³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊ Π½Π΅ выполняСтся (ΠΈ Π½Π΅ появляСтся Π² Π²Ρ‹Π²ΠΎΠ΄Π΅ SHOW PROCESSLIST).

Когда сСрвСр Π·Π°ΠΏΡƒΡ‰Π΅Π½, event_scheduler ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ON ΠΈ OFF (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ SET). Π’Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ 0 для OFF ΠΈ 1 для ON ΠΏΡ€ΠΈ установкС этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, любая ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… 4 инструкций ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ mysql, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ событий:


SET GLOBAL event_scheduler = ON;

SET @@global.event_scheduler = ON;

SET GLOBAL event_scheduler = 1;

SET @@global.event_scheduler = 1;


Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ любая ΠΈΠ· этих 4 инструкций ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ событий:


SET GLOBAL event_scheduler = OFF;

SET @@global.event_scheduler = OFF;

SET GLOBAL event_scheduler = 0;

SET @@global.event_scheduler = 0;


Π₯отя ON ΠΈ OFF ΠΈΠΌΠ΅Π΅Ρ‚ числовыС эквивалСнты, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ для event_scheduler Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ SELECT ΠΈΠ»ΠΈ SHOW VARIABLES всСгда OFF, ON ΠΈΠ»ΠΈ DISABLED. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ DISABLED Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ числового эквивалСнта. По этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ ON ΠΈ OFF ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ 1 ΠΈ 0 ΠΏΡ€ΠΈ установкС этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ дСлая ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΡƒ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ event_scheduler Π±Π΅Π· Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π΅Π΅ ΠΊΠ°ΠΊ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ:


mysql< SET @@event_scheduler = OFF;

ERROR 1229 (HY000): Variable 'event_scheduler' is a

GLOBAL variable and should be set with SET GLOBAL


Π’Π°ΠΆΠ½ΠΎ: нСльзя Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ, Ссли сСрвСр Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π’ΠΎ Π΅ΡΡ‚ΡŒ, Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ event_scheduler Π½Π° DISABLED ΠΈΠ»ΠΈ с DISABLED Π½Π° ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ для этой ΠΎΠΏΡ†ΠΈΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, ΠΊΠΎΠ³Π΄Π° сСрвСр остановлСн. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ выполняСтся, Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ сбой с ошибкой.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ событий, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π΄Π²ΡƒΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²:


Как опция ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΏΡ€ΠΈ стартС сСрвСра:--event-scheduler=DISABLED


Π’ Ρ„Π°ΠΉΠ»Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (my.cnf, ΠΈΠ»ΠΈ my.ini Π² Windows) Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ строку (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Ρ€Π°Π·Π΄Π΅Π» [mysqld]):

event_scheduler=DISABLED


Π§Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ, пСрСзапуститС сСрвСр Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° --event-scheduler=DISABLED ΠΈΠ»ΠΈ послС удалСния (ΠΈΠ»ΠΈ коммСнтирования) строки, содСрТащСй event_scheduler=DISABLED Π² Ρ„Π°ΠΉΠ»Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Π’ качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ON (ΠΈΠ»ΠΈ 1), Π»ΠΈΠ±ΠΎ OFF (ΠΈΠ»ΠΈ 0) вмСсто значСния DISABLED ΠΏΡ€ΠΈ стартС сСрвСра.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ инструкции манипулирования событиями, ΠΊΠΎΠ³Π΄Π° event_scheduler установлСн Π² DISABLED. НикакиС прСдупрСТдСния ΠΈΠ»ΠΈ ошибки Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ сгСнСрированы Π² Ρ‚Π°ΠΊΠΈΡ… случаях (Ссли инструкции ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ допустимы). Однако, ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ события Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ, ΠΏΠΎΠΊΠ° эта пСрСмСнная Π½Π΅ установлСна Π² ON (ΠΈΠ»ΠΈ 1). Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ это Π±Ρ‹Π»ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ, ΠΏΠΎΡ‚ΠΎΠΊ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° выполняСт всС события, Ρ‡ΡŒΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ условия ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€Π΅Π½Ρ‹.

Π’ MySQL 5.1.11 event_scheduler Π²Π΅Π»Π° сСбя ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: эта пСрСмСнная ΠΌΠΎΠ³Π»Π° Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ 0 (ΠΈΠ»ΠΈ OFF), 1 (ΠΈΠ»ΠΈ ON) ΠΈΠ»ΠΈ 2. Установка Π² 0 ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π»Π° ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ. Установка Π² 1 запускала ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ ΠΈ выполняла ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ события. Π’ этом состоянии ΠΏΠΎΡ‚ΠΎΠΊ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° события, казалось, бСздСйствовала ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π»Π°ΡΡŒ с SHOW PROCESSLIST. Когда event_scheduler Π±Ρ‹Π»Π° установлСна Π² 2 (Ρ‡Ρ‚ΠΎ ΠΈ Π±Ρ‹Π»ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ), ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ событий Π±Ρ‹Π» приостановлСн: ΠΏΠΎΡ‚ΠΎΠΊ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° событий выполнялся ΠΈ ΠΌΠΎΠ³ Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΉΠ΄Π΅Π½ Π² Π²Ρ‹Π²ΠΎΠ΄Π΅ SHOW PROCESSLIST (Π³Π΄Π΅ Π² столбцС State ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π»ΠΎΡΡŒ Suspended), Π½ΠΎ Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡŒ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ события. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ event_scheduler ΠΌΠΎΠ³Π»ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ 1 (ΠΈΠ»ΠΈ ON) ΠΈ 2 Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ сСрвСра. Установка Π² OFF ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠ· OFF) Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»Π° рСстарта сСрвСра.