Heim > Datenbank > MySQL-Tutorial > So verwenden Sie den Ereignisplaner von MySQL, um die geplante Aufgabenplanung zu implementieren

So verwenden Sie den Ereignisplaner von MySQL, um die geplante Aufgabenplanung zu implementieren

WBOY
Freigeben: 2023-08-03 09:43:50
Original
1793 Leute haben es durchsucht

So verwenden Sie den Ereignisplaner von MySQL, um die geplante Aufgabenplanung zu implementieren

Beim Entwickeln und Verwalten von Datenbanken ist es häufig erforderlich, bestimmte Aufgaben regelmäßig auszuführen, z. B. tägliche Sicherungen der Datenbank, wöchentliche statistische Berichte usw. MySQL bietet ein sehr nützliches Tool, den Event Scheduler, der uns bei der Implementierung der geplanten Aufgabenplanung helfen kann. In diesem Artikel wird erläutert, wie Sie den Ereignisplaner von MySQL verwenden, um die Planung geplanter Aufgaben zu implementieren, und entsprechende Codebeispiele bereitstellen.

1. Schalten Sie den Ereignisplaner ein

Bevor Sie den Ereignisplaner verwenden, müssen Sie zunächst bestätigen, ob der MySQL-Ereignisplaner aktiviert wurde. Sie können den Status des Ereignisplaners mit dem folgenden Befehl überprüfen:

SHOW VARIABLES LIKE 'event_scheduler';

Wenn das Ergebnis Aus ist, müssen Sie den Ereignisplaner manuell aktivieren. Es kann mit dem folgenden Befehl aktiviert werden:

SET GLOBAL event_scheduler = ON;

Nachdem es erfolgreich aktiviert wurde, können Sie bestätigen, dass der Ereignisplaner aktiviert wurde, indem Sie den Befehl SHOW VARIABLES LIKE 'event_scheduler' erneut ausführen .

2. Erstellen Sie eine geplante Aufgabe

Um eine geplante Aufgabe mit dem Ereignisplaner zu erstellen, müssen Sie die folgenden Schritte ausführen:

  1. Erstellen Sie einen Ereignisplaner

Verwenden Sie die CREATE EVENT-Anweisung, um einen Ereignisplaner zu erstellen. Die spezifische Syntax lautet wie folgt:

CREATE EVENT event_name
ON SCHEDULE zeitplan
[ON COMPLETION [NOT] PRESERVE]
[ENABLE | DISABLE]
[COMMENT 'string']
DO event_body;

wobei event_name der Name von ist Das Ereignis und der Zeitplan sind der Planungszyklus, event_body ist die spezifische Operation des Ereignisses.

  1. Stellen Sie den Planungszyklus ein

Der Planungszyklus kann entsprechend den tatsächlichen Anforderungen eingestellt werden. Die folgenden sind häufig verwendete Planungszyklen:

  • Einmal pro Sekunde ausführen: JEDE 1 SEKUNDE
  • Einmal jede Minute ausführen: JEDE 1 MINUTE
  • Einmal pro Stunde ausführen: JEDE 1 STUNDE
  • Einmal pro Tag ausführen: JEDEN 1 TAG
  • Wird einmal pro Woche ausgeführt: JEDE 1 WOCHE.
  • Wird einmal im Monat ausgeführt: JEDE 1 MONAT.

Sie können den passenden Planungszeitraum entsprechend Ihren Anforderungen auswählen.

  1. Schreiben Sie die spezifische Operation des Ereignisses.

Schreiben Sie die spezifische Operationslogik in den Teil „event_body“. Sie können SQL-Anweisungen verwenden, um Datenbankoperationen auszuführen oder gespeicherte Prozeduren oder Funktionen aufzurufen. 🔜

DECLARE backup_file VARCHAR(255);
SET backup_file := CONCAT('/var/backup/db_', DATE_FORMAT(NOW(), '%Y%m%d_%H%i%s'), '.sql');
SET @sql := CONCAT('mysqldump -hlocalhost -uroot -ppassword dbname > ', backup_file);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
Nach dem Login kopieren

END ;

Der obige Code erstellt einen Ereignisplaner mit dem Namen „backup_event“ und legt den Planungszeitraum fest, der einmal täglich ausgeführt werden soll. Im Teil „event_body“ wird zunächst eine Variable „backup_file“ definiert, um den Pfad der Sicherungsdatei zu speichern. Verwenden Sie dann die CONCAT-Funktion, um den Pfad der Sicherungsdatei zu verbinden, und weisen Sie dann mit der SET-Anweisung den Sicherungsbefehl der @sql-Variablen zu. Verwenden Sie abschließend die Anweisungen PREPARE und EXECUTE, um den Sicherungsbefehl auszuführen.


3. Geplante Aufgaben verwalten

Nachdem Sie die CREATE EVENT-Anweisung zum Erstellen einer geplanten Aufgabe verwendet haben, können Sie diese mit den folgenden Befehlen verwalten:

Alle Ereignisplaner anzeigen: SHOW EVENTS;

Informationen zum angegebenen Ereignis anzeigen Scheduler: SHOW EVENT event_name;

Aktivieren Sie den Event-Planer: ALTER EVENT event_name ENABLE;

Deaktivieren Sie den Event-Planer: ALTER EVENT event_name DISABLE;

    Ändern Sie die Ausführungszeit des Event-Planers: ALTER EVENT event_name ON SCHEDULE AT 'date_time' ;
  • Mit den übergebenen Verwaltungsbefehlen können geplante Aufgaben einfach angezeigt und verwaltet werden.
  • Zusammenfassung
  • In diesem Artikel wird erläutert, wie Sie den Ereignisplaner von MySQL verwenden, um die geplante Aufgabenplanung zu implementieren. Indem Sie einen Ereignisplaner erstellen, den Planungszyklus festlegen und eine spezifische Betriebslogik schreiben, können Sie die Funktion der regelmäßigen Ausführung von Datenbankaufgaben problemlos implementieren. Entwickler können den Planungszyklus und die Betriebslogik geplanter Aufgaben basierend auf den tatsächlichen Anforderungen anpassen. Der Ereignisplaner von MySQL bietet mehr Flexibilität und Komfort für unsere Datenbankentwicklung und -verwaltung. 🔜 - Ansicht alle Ereignisplaner
  • SHOW EVENTS;
  • – Informationen zum angegebenen Ereignisplaner anzeigen
SHOW EVENT backup_event;

– Den Ereignisplaner aktivieren

ALTER EVENT backup_event ENABLE;

– Den Ereignisplaner deaktivieren

ALTER EVENT backup_event DISABLE ;

-- Ändern Sie die Ausführungszeit des Ereignisplaners

ALTER EVENT backup_event ON SCHEDULE AT '2023-01-01 03:00:00';

Das obige ist der detaillierte Inhalt vonSo verwenden Sie den Ereignisplaner von MySQL, um die geplante Aufgabenplanung zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage