Heim Datenbank MySQL-Tutorial mysql学习记录(十一)--事件调度器_MySQL

mysql学习记录(十一)--事件调度器_MySQL

May 30, 2016 pm 05:10 PM
事件

一、理论:

1.优势:
1)减少系统管理员的操作风险,有利于数据库整体迁移。因数据库迁移时即可同时迁移调度事件
2.场景:
1)定期收集统计信息
2)清理历史数据
3)数据库检查
3.要点:
1)在性能要求高且重要的数据库中要慎重部署和启用调度器
2)过于复杂的更适合用程序
3)开启和关闭事件调度器需要具有超级用户权限

二、实践:

 

mysql> use test1;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> create table test(id1 varchar(10),create_time datetime);
Query OK, 0 rows affected (0.02 sec)

mysql> create event test_event_1
    -> on schedule
    -> every 5 second 
    -> do 
    -> insert into test1.test(id1,create_time)
    -> values ('test',now());
Query OK, 0 rows affected (0.01 sec)

mysql> show events \G;
*************************** 1. row ***************************
                  Db: test1
                Name: test_event_1
             Definer: root@localhost
           Time zone: SYSTEM
                Type: RECURRING
          Execute at: NULL
      Interval value: 5
      Interval field: SECOND
              Starts: 2015-10-14 06:33:17
                Ends: NULL
              Status: ENABLED
          Originator: 1
character_set_client: utf8
collation_connection: utf8_general_ci
  Database Collation: utf8_general_ci
1 row in set (0.01 sec)

ERROR: 
No query specified

mysql> select * from test;
Empty set (0.00 sec)

mysql> show variables like '%scheduler%';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| event_scheduler | OFF   |
+-----------------+-------+
1 row in set (0.00 sec)

mysql> set global event_scheduler = 1 ;
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like '%scheduler%';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| event_scheduler | ON    |
+-----------------+-------+
1 row in set (0.00 sec)

mysql> show processlist \G;
*************************** 1. row ***************************
     Id: 17
   User: root
   Host: localhost
     db: test1
Command: Sleep
   Time: 247901
  State: 
   Info: NULL
*************************** 2. row ***************************
     Id: 21
   User: root
   Host: localhost
     db: test1
Command: Query
   Time: 0
  State: NULL
   Info: show processlist
*************************** 3. row ***************************
     Id: 22
   User: event_scheduler
   Host: localhost
     db: NULL
Command: Daemon
   Time: 1
  State: Waiting for next activation
   Info: NULL
3 rows in set (0.00 sec)

ERROR: 
No query specified

mysql> select * from test;
+------+---------------------+
| id1  | create_time         |
+------+---------------------+
| test | 2015-10-14 06:33:57 |
| test | 2015-10-14 06:34:02 |
| test | 2015-10-14 06:34:07 |
| test | 2015-10-14 06:34:12 |
| test | 2015-10-14 06:34:17 |
| test | 2015-10-14 06:34:22 |
+------+---------------------+
6 rows in set (0.00 sec)

mysql> create event trunc_test
    -> on schedule every 1 minute
    -> do truncate table test;
Query OK, 0 rows affected (0.00 sec)

mysql> select * from test;
+------+---------------------+
| id1  | create_time         |
+------+---------------------+
| test | 2015-10-14 06:34:52 |
| test | 2015-10-14 06:34:57 |
| test | 2015-10-14 06:35:02 |
| test | 2015-10-14 06:35:07 |
| test | 2015-10-14 06:35:12 |
| test | 2015-10-14 06:35:17 |
| test | 2015-10-14 06:35:22 |
| test | 2015-10-14 06:35:27 |
| test | 2015-10-14 06:35:32 |
| test | 2015-10-14 06:35:37 |
+------+---------------------+
10 rows in set (0.00 sec)

mysql> select * from test;
+------+---------------------+
| id1  | create_time         |
+------+---------------------+
| test | 2015-10-14 06:37:52 |
| test | 2015-10-14 06:37:57 |
+------+---------------------+
2 rows in set (0.00 sec)

mysql> show processlist \G;
*************************** 1. row ***************************
     Id: 17
   User: root
   Host: localhost
     db: test1
Command: Sleep
   Time: 248177
  State: 
   Info: NULL
*************************** 2. row ***************************
     Id: 21
   User: root
   Host: localhost
     db: test1
Command: Query
   Time: 0
  State: NULL
   Info: show processlist
*************************** 3. row ***************************
     Id: 22
   User: event_scheduler
   Host: localhost
     db: NULL
Command: Daemon
   Time: 2
  State: Waiting for next activation
   Info: NULL
3 rows in set (0.00 sec)

ERROR: 
No query specified

mysql> alter event trunc_test disable;
Query OK, 0 rows affected (0.02 sec)

mysql> select * from test;
+------+---------------------+
| id1  | create_time         |
+------+---------------------+
| test | 2015-10-14 06:38:52 |
| test | 2015-10-14 06:38:57 |
| test | 2015-10-14 06:39:02 |
| test | 2015-10-14 06:39:07 |
| test | 2015-10-14 06:39:12 |
| test | 2015-10-14 06:39:17 |
| test | 2015-10-14 06:39:22 |
| test | 2015-10-14 06:39:27 |
| test | 2015-10-14 06:39:32 |
| test | 2015-10-14 06:39:37 |
+------+---------------------+
10 rows in set (0.00 sec)

mysql> select * from test;
+------+---------------------+
| id1  | create_time         |
+------+---------------------+
| test | 2015-10-14 06:38:52 |
| test | 2015-10-14 06:38:57 |
| test | 2015-10-14 06:39:02 |
| test | 2015-10-14 06:39:07 |
| test | 2015-10-14 06:39:12 |
| test | 2015-10-14 06:39:17 |
| test | 2015-10-14 06:39:22 |
| test | 2015-10-14 06:39:27 |
| test | 2015-10-14 06:39:32 |
| test | 2015-10-14 06:39:37 |
| test | 2015-10-14 06:39:42 |
| test | 2015-10-14 06:39:47 |
| test | 2015-10-14 06:39:52 |
| test | 2015-10-14 06:39:57 |
| test | 2015-10-14 06:40:02 |
| test | 2015-10-14 06:40:07 |
+------+---------------------+
16 rows in set (0.00 sec)

mysql> alter event test_event_1 disable;
Query OK, 0 rows affected (0.00 sec)

mysql> select * from test;
+------+---------------------+
| id1  | create_time         |
+------+---------------------+
| test | 2015-10-14 06:38:52 |
| test | 2015-10-14 06:38:57 |
| test | 2015-10-14 06:39:02 |
| test | 2015-10-14 06:39:07 |
| test | 2015-10-14 06:39:12 |
| test | 2015-10-14 06:39:17 |
| test | 2015-10-14 06:39:22 |
| test | 2015-10-14 06:39:27 |
| test | 2015-10-14 06:39:32 |
| test | 2015-10-14 06:39:37 |
| test | 2015-10-14 06:39:42 |
| test | 2015-10-14 06:39:47 |
| test | 2015-10-14 06:39:52 |
| test | 2015-10-14 06:39:57 |
| test | 2015-10-14 06:40:02 |
| test | 2015-10-14 06:40:07 |
| test | 2015-10-14 06:40:12 |
| test | 2015-10-14 06:40:17 |
| test | 2015-10-14 06:40:22 |
| test | 2015-10-14 06:40:27 |
+------+---------------------+
20 rows in set (0.00 sec)

mysql>  drop event test_event_1;
Query OK, 0 rows affected (0.01 sec)

mysql> show events \G;
*************************** 1. row ***************************
                  Db: test1
                Name: trunc_test
             Definer: root@localhost
           Time zone: SYSTEM
                Type: RECURRING
          Execute at: NULL
      Interval value: 1
      Interval field: MINUTE
              Starts: 2015-10-14 06:34:48
                Ends: NULL
              Status: DISABLED
          Originator: 1
character_set_client: utf8
collation_connection: utf8_general_ci
  Database Collation: utf8_general_ci
1 row in set (0.00 sec)

ERROR: 
No query specified
Nach dem Login kopieren
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Ereignis-ID 4660: Objekt gelöscht [Fix] Ereignis-ID 4660: Objekt gelöscht [Fix] Jul 03, 2023 am 08:13 AM

Einige unserer Leser sind auf das Ereignis ID4660 gestoßen. Sie sind sich oft nicht sicher, was sie tun sollen, deshalb erklären wir es in diesem Leitfaden. Die Ereignis-ID 4660 wird normalerweise protokolliert, wenn ein Objekt gelöscht wird. Daher werden wir auch einige praktische Möglichkeiten zur Behebung des Problems auf Ihrem Computer untersuchen. Was ist Ereignis-ID4660? Die Ereignis-ID 4660 bezieht sich auf Objekte in Active Directory und wird durch einen der folgenden Faktoren ausgelöst: Objektlöschung – Ein Sicherheitsereignis mit der Ereignis-ID 4660 wird protokolliert, wenn ein Objekt aus Active Directory gelöscht wird. Manuelle Änderungen – Die Ereignis-ID 4660 kann generiert werden, wenn ein Benutzer oder Administrator die Berechtigungen eines Objekts manuell ändert. Dies kann passieren, wenn Sie Berechtigungseinstellungen ändern, Zugriffsebenen ändern oder Personen oder Gruppen hinzufügen oder entfernen

Erhalten Sie bevorstehende Kalenderereignisse auf Ihrem iPhone-Sperrbildschirm Erhalten Sie bevorstehende Kalenderereignisse auf Ihrem iPhone-Sperrbildschirm Dec 01, 2023 pm 02:21 PM

Auf iPhones mit iOS 16 oder höher können Sie bevorstehende Kalenderereignisse direkt auf dem Sperrbildschirm anzeigen. Lesen Sie weiter, um herauszufinden, wie es geht. Aufgrund von Komplikationen auf dem Zifferblatt sind viele Apple Watch-Benutzer daran gewöhnt, einen Blick auf ihr Handgelenk werfen zu können, um das nächste bevorstehende Kalenderereignis zu sehen. Mit der Einführung von iOS 16 und Sperrbildschirm-Widgets können Sie dieselben Kalenderereignisinformationen direkt auf Ihrem iPhone anzeigen, ohne das Gerät überhaupt entsperren zu müssen. Das Widget „Kalender-Sperrbildschirm“ gibt es in zwei Varianten, sodass Sie die Zeit des nächsten bevorstehenden Ereignisses verfolgen oder ein größeres Widget verwenden können, das den Namen des Ereignisses und seine Zeit anzeigt. Um mit dem Hinzufügen von Widgets zu beginnen, entsperren Sie Ihr iPhone mit Face ID oder Touch ID und halten Sie es gedrückt

Was ist in JavaScript der Zweck des „oninput'-Ereignisses? Was ist in JavaScript der Zweck des „oninput'-Ereignisses? Aug 26, 2023 pm 03:17 PM

Wenn dem Eingabefeld ein Wert hinzugefügt wird, tritt das oninput-Ereignis auf. Sie können versuchen, den folgenden Code auszuführen, um zu verstehen, wie Oninput-Ereignisse in JavaScript implementiert werden – Beispiel<!DOCTYPEhtml><html> <body> <p>Writebelow:</p> <inputtype="text&quot

Wie implementiert man Kalenderfunktionen und Ereigniserinnerungen in PHP-Projekten? Wie implementiert man Kalenderfunktionen und Ereigniserinnerungen in PHP-Projekten? Nov 02, 2023 pm 12:48 PM

Wie implementiert man Kalenderfunktionen und Ereigniserinnerungen in PHP-Projekten? Kalenderfunktionen und Terminerinnerungen gehören zu den häufigsten Anforderungen bei der Entwicklung von Webanwendungen. Ob persönliche Terminverwaltung, Teamzusammenarbeit oder Online-Veranstaltungsplanung – die Kalenderfunktion ermöglicht eine bequeme Zeitverwaltung und Transaktionsplanung. Die Implementierung von Kalenderfunktionen und Ereigniserinnerungen in PHP-Projekten kann durch die folgenden Schritte abgeschlossen werden. Datenbankdesign Zunächst müssen Sie eine Datenbanktabelle entwerfen, um Informationen zu Kalenderereignissen zu speichern. Ein einfaches Design könnte die folgenden Felder enthalten: id: eindeutig für das Ereignis

So implementieren Sie die Änderungsereignisbindung ausgewählter Elemente in jQuery So implementieren Sie die Änderungsereignisbindung ausgewählter Elemente in jQuery Feb 23, 2024 pm 01:12 PM

jQuery ist eine beliebte JavaScript-Bibliothek, die zur Vereinfachung der DOM-Manipulation, Ereignisbehandlung, Animationseffekte usw. verwendet werden kann. Bei der Webentwicklung stoßen wir häufig auf Situationen, in denen wir die Ereignisbindung für ausgewählte Elemente ändern müssen. In diesem Artikel wird erläutert, wie Sie mit jQuery ausgewählte Elementänderungsereignisse binden, und es werden spezifische Codebeispiele bereitgestellt. Zuerst müssen wir ein Dropdown-Menü mit Optionen erstellen, die Beschriftungen verwenden:

Was sind die am häufigsten verwendeten Ereignisse in jquery? Was sind die am häufigsten verwendeten Ereignisse in jquery? Jan 03, 2023 pm 06:13 PM

Häufig verwendete Ereignisse in jquery sind: 1. Fensterereignisse 2. Mausereignisse, bei denen es sich um Ereignisse handelt, die generiert werden, wenn der Benutzer das Dokument bewegt oder darauf klickt, einschließlich Mausklicks, Einzugsereignisse, Auszugsereignisse usw.; 3. Tastaturereignisse: Ereignisse werden jedes Mal generiert, wenn der Benutzer eine Taste auf der Tastatur drückt oder loslässt, einschließlich Tastendruckereignissen, Tastenfreigabeereignissen usw. 4. Formularereignisse, z. B. wenn ein Element den Fokus erhält, wird der Fokus () angezeigt. Das Ereignis wird ausgelöst, und wenn es den Fokus verliert, wird das Ereignis „blur()“ ausgelöst, und das Ereignis „submit()“ wird ausgelöst, wenn das Formular gesendet wird.

Detaillierte Erläuterung der Eingabefeld-Bindungsereignisse in Vue-Dokumenten Detaillierte Erläuterung der Eingabefeld-Bindungsereignisse in Vue-Dokumenten Jun 21, 2023 am 08:12 AM

Vue.js ist ein leichtes JavaScript-Framework, das einfach zu verwenden, effizient und flexibel ist. Es ist derzeit eines der beliebtesten Front-End-Frameworks. In Vue.js sind Eingabefeld-Bindungsereignisse eine sehr häufige Anforderung. In diesem Artikel werden die Eingabefeld-Bindungsereignisse im Vue-Dokument ausführlich vorgestellt. 1. Grundkonzepte In Vue.js bezieht sich das Eingabefeld-Bindungsereignis auf die Bindung des Werts des Eingabefelds an das Datenobjekt der Vue-Instanz, wodurch eine bidirektionale Bindung von Eingabe und Antwort erreicht wird. In Vue.j

So erstellen Sie ereignisbasierte Anwendungen mit PHP So erstellen Sie ereignisbasierte Anwendungen mit PHP May 04, 2024 pm 02:24 PM

Zu den Methoden zum Erstellen ereignisbasierter Anwendungen in PHP gehört die Verwendung der EventSourceAPI zum Erstellen einer Ereignisquelle und die Verwendung des EventSource-Objekts zum Abhören von Ereignissen auf der Clientseite. Senden Sie Ereignisse mithilfe von Server Sent Events (SSE) und warten Sie auf der Clientseite mithilfe eines XMLHttpRequest-Objekts auf Ereignisse. Ein praktisches Beispiel ist die Verwendung von EventSource zur Aktualisierung der Bestandszahlen in Echtzeit auf einer E-Commerce-Website. Dies wird auf der Serverseite durch zufälliges Ändern des Bestands und Senden von Aktualisierungen erreicht, und der Client wartet über EventSource auf Bestandsaktualisierungen und zeigt diese an Echtzeit.

See all articles