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 ファイル管理コマンド例の分析 [表示、閲覧、統計など]

推薦する

HTMLウェブページテーブル構造化マークアップの応用に関する簡単な説明

Web テーブルの構造マークアップについて説明する前に、いくつかの画像を見てみましょう。 HTML ...

Linux での Centos7 ファイアウォールの基本的な使用方法の詳細な説明

1. ファイアウォールの基本的な使い方起動する: systemctl は、firewalld を起動...

CSS を使用して 3 列のアダプティブ レイアウト (両側は固定幅、中央はアダプティブ) を実現します。

いわゆる 3 列適応レイアウトとは、両側の幅が固定され、中央のブロックの幅が適応されることを意味しま...

Vue シンプル登録ページ + 確認コード送信機能の実装例

目次1. エフェクト表示2. 検証コードとメールプッシュ管理の強化(後述のブログを参照) 3. 一般...

MySQL インデックスの一般的な問題の概要

Q1: データベースにはどのようなインデックスがありますか?メリットとデメリットは何ですか? 1. ...

nginx プロキシ ポート 80 からポート 443 への実装

nginx.conf設定ファイルは次のとおりです。 ユーザー nginx; ワーカープロセス 1; ...

html オプション 無効 選択 選択 無効 オプションの例

コードをコピーコードは次のとおりです。 <選択> <オプション値="&q...

CentOS 7.6 仮想ネットワーク カードのバッチ追加、変更、削除操作の紹介

1 カーネルにtunモジュールがあるかどうかを確認する modinfo tun modprobe t...

MySQLで数千万のテストデータを素早く作成する方法

述べる:この記事で扱うデータ量は 100 万です。数千万のデータが必要な場合は、量を増やすだけで済み...

マウスがカード上に移動したときにフローティング効果を実現する CSS の使用例

原理ホバーしたときに要素に影を設定します: box-shadow で、通常とは異なるスタイルにします...

Docker を使用して Redis マスター スレーブ レプリケーション クラスターを構築する

マスタースレーブレプリケーションモードのクラスターでは、通常、1 つのマスターノードと 2 つ以上の...

Windows での MySQL5 グリーン バージョンのインストールの概要 (推奨)

1 MySQLをダウンロードするダウンロードアドレス: http://downloads.mysq...

CSS スタイルで一般的なグラフィック効果を示すサンプルコード

一般的な基本グラフィックと私が遭遇するいくつかの小さなアイコンについて簡単に説明します。以下は CS...

10分でCSS3グリッドレイアウトを理解する

基本的な紹介前回の記事では、CSS3 のフレックスボックスを紹介しました。今日は、CSS3 のもう ...

React onClickにパラメータを渡す問題について話しましょう

背景下のようなリストでは、削除ボタンをクリックすると削除操作を実行する必要があります。 リスト生成:...