MySQL スケジュールタスクの実装と使用例

MySQL スケジュールタスクの実装と使用例

この記事では、例を使用して、MySQL スケジュール タスクの実装と使用方法を説明します。ご参考までに、詳細は以下の通りです。

MySQL 5.1.6 では、以前のシステムのスケジュールされたタスクに代わる、スケジュールされたタスク (レコードのスケジュールされた削除、スケジュールされたデータ統計) を実行できるイベント スケジューラが追加されました。 MySQL イベント スケジューラは、1 秒あたり正確にタスクを実行できます。

イベント スケジューラとトリガーの違い: イベント スケジューラは特定の期間に基づいて特定のタスクの実行をトリガーしますが、トリガーは特定のテーブルによって生成されたイベントに基づいてトリガーされます。

1. 電源が入っているか確認する

> 'event_scheduler' のような変数を表示します。

2. イベントスケジューラを有効にする

グローバルevent_schedulerをオンに設定します。

ここでの設定は、MySQL を再起動すると自動的に閉じられます。オンのままにしておく必要がある場合は、my.ini で次のように設定する必要があります。

イベントスケジューラ = オン

3. イベント構文を作成する

イベントを作成 [存在しない場合] イベント名
スケジュール通りのスケジュール
[ 完了時に [ 保存しない ] ]
[ 有効 | 無効 ]
[ コメント 'コメント' ]
DO SQL ステートメント;
 
スケジュール: AT TIMESTAMP [ + INTERVAL interval ] | EVERY interval [ STARTS TIMESTAMP ] [ ENDS TIMESTAMP ]
間隔: 数量 { 年 | 四半期 | 月 | 日 |
           時間 | 分 | 週 | 秒 |
           YEAR_MONTH | DAY_HOUR | DAY_MINUTE | DAY_SECOND |
           時間_分 | 時間_秒 | 分_秒 }

event_name: イベント名。最大長は 64 文字です。

スケジュール: 実行時間。

[ON COMPLETION [NOT] PRESERVE]: イベントを再利用する必要があるかどうか。

[ ENABLE | DISABLE ] : イベントを有効または無効にします。

4. 閉会式

ALTER EVENT イベント名を無効にします。

5. オープニングイベント

ALTER EVENT イベント名 ENABLE;

6. イベントの削除

DROP EVENT [存在する場合] event_name;

7. すべてのイベントを表示

ショーイベント;

8. イベント例

テスト用に簡単なテストテーブルを作成しましょう。

テーブル「test」を作成します(
 `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
 `now` datetime デフォルト NULL コメント 'time',
 主キー (`id`)
)ENGINE=InnoDB デフォルト文字セット=utf8;

イベントには、間隔トリガーと特定の時間トリガーの 2 種類があります。

1 秒ごとにテスト テーブルにレコードを挿入します。

存在する場合はイベントを削除します event_test;
イベントの作成 event_test
スケジュールに従って 1 秒ごとに開始 '2017-08-22 11:57:00' 終了 '2017-08-22 12:00:00'
完了時に保存
有効にする
コメント 'テストテーブルに毎秒レコードを挿入する'
テストに VALUES(NULL, now()) を挿入します。

テスト テーブルにレコードを挿入する時間を指定します。

存在する場合はイベントを削除しますevent_test2;
イベントの作成 event_test2
'2017-08-22 12:01:00' にスケジュールどおり
完了時に保存
有効にする
コメント '指定された時間にテストテーブルにレコードを挿入します'
テストに VALUES(999999, now()) を挿入します。

MySQL 関連のコンテンツに興味のある読者は、このサイトの次のトピックをチェックしてください: 「MySQL クエリ スキル」、「MySQL トランザクション操作スキル」、「MySQL ストアド プロシージャ スキル」、「MySQL データベース ロック関連スキルの概要」、および「MySQL 共通関数の概要」

この記事が皆様のMySQLデータベース設計に役立つことを願っています。

以下もご興味があるかもしれません:
  • MySQL スケジュールタスク (EVENT イベント) を詳細に設定する方法
  • MySQLでスケジュールされたタスクを設定する方法の分析
  • mysql スケジュールタスク (イベント イベント) の詳細な説明
  • Linux で MySQL スケジュール タスク バックアップ データを実装する方法
  • MySQL スケジュールタスク例チュートリアル
  • Linux で MySQL スケジュールタスクを実装する方法
  • MySQLのスケジュールタスクが正常に実行できない原因の分析と解決

<<:  vxe-table を使用して vue で編集可能なテーブルを作成するプロセス

>>:  Linux ファイル管理コマンド例の分析 [表示、閲覧、統計など]

推薦する

PhpStormがVirtualBoxに接続できない問題を解決する

問題の説明: phpstorm の SFTP ホストを 192.168.122.1 に設定すると、接...

Linux に Python クローラー スクリプトを展開し、スケジュールされたタスクを設定する方法

昨年、プロジェクトの必要性により、Python でクローラーを作成しました。クロールされたデータは、...

セマンティック HTML タグの紹介

ここ数年、ウェブサイト開発では DIV+CSS が非常に人気があり、当時は大きな騒動を引き起こしまし...

XHTML 入門チュートリアル: XHTML とは何ですか?

HTMLとは何ですか?簡単に言えば、HTML は Web ページを作成するために使用されます。とて...

Linux ipcsコマンドの使用

1. コマンドの紹介ipcs コマンドは、Linux のプロセス間通信機能の状態を報告するために使用...

JS で CSS 変数を使用する方法

JS で CSS 変数を使用する方法:export キーワードを使用して、js オブジェクトを le...

CSS 前景と背景の自動カラーマッチング技術の紹介 (デモ)

1. カラーマッチング効果のプレビュー下の GIF に示すように、ボタンの背景色が徐々に薄くなると...

WeChatアプレット仮想リストの応用例

目次序文仮想リストとは何ですか?デモ効果準備スクリーンの高さとボックスの高さ最適化要約する序文人気の...

Reactソースコードにおけるビット演算について詳しく説明します

目次序文いくつかの一般的なビット操作ビットAND (&)ビットOR (|)ビット否定(~)マ...

JS で列挙をシミュレートする方法

序文現在の JavaScript には列挙の概念がありません。一部のシナリオでは、列挙を使用するとデ...

MySQLへのJava接続の基礎となるカプセル化の詳細な説明

この記事では、Java接続MySQLの基礎となるカプセル化コードを参考までに紹介します。具体的な内容...

MySQL 論理バックアップとリカバリ テストの概要

目次1. データベース論理バックアップとはどのようなバックアップですか? 2. よく使われる論理バッ...

CentOS で RPM を使用して MySQL 5.6 をインストールするチュートリアル

これまでのプロジェクトはすべて Windows システム環境にデプロイされていました。今回は Lin...

React-Native スクリーンショットコンポーネント react-native-view-shot の紹介と使い方のまとめ

目次1. 現象2. 解決策3. 要約: 1. 現象1. 要件: 特定の表示ページをキャプチャしてアル...

ブラウザ間の hr 区切り文字の違い

Webページを作るときに、区切り線hrを使うことがありますが、IE6やIE7で表示するのは非常に苦痛...