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

推薦する

Baidu Union 環境での広告スキル (グラフィック チュートリアル)

最近、製品部門のユーザーエクスペリエンスチームの学生は、アライアンス環境における広告に関する一連の研...

jsはFileReaderを使用してローカルファイルまたはBLOBを読み取ります

目次FileReaderはローカルファイルまたはBLOBを読み取ります1. FileReaderの使...

VMware で Nginx+KeepAlived クラスタ デュアルアクティブ アーキテクチャを展開する際の問題と解決策

序文負荷分散には nginx を使用します。アーキテクチャのフロントエンドまたは中間層として、トラフ...

Dockerネットワーク作成に--subnetを追加した後の問題を解決する

Docker ネットワークの作成に –subnet を追加した後、docker network ls...

MySQLテーブル内の重複データをクエリする方法

hk_test(ユーザー名、パスワード) に値を挿入 ('qmf1', '...

安全な構成のためにDockerでTLSを有効にする手順

序文以前、Docker の 2375 Remote API を有効にしていました。会社のセキュリティ...

nginx 設定ファイルで環境変数を使用する方法

序文Nginx はパフォーマンスを重視して設計された HTTP サーバーです。Apache や li...

フィルターと固定間の競合の原因と解決策の詳細な説明

問題の説明body内でfilter属性を使用すると、 fixed要素の位置が不正確になります。つまり...

Docker で Let's Encrypt から永久無料 SSL 証明書を取得する方法

1. 原因公式の cerbot は面倒すぎます。野生の成長よりもさらに悪い acme.sh の使用は...

CSS3は、大きな円のドット分布と回転効果を実現するためにtransform-originを使用します。

まず、transform-origin 属性を使用する必要があります。transform 属性は必ず...

WebpackはCSSファイルを読み込み、その設定方法

webpackはCSSファイルとその設定をロードします複数の CSS ファイルを作成した後、HTML...

CentOS7にMySQL 8.0.26をインストールする手順

1. まず、お使いのマシンに応じて、MySQL 公式サイトから対応するデータベースをダウンロードしま...

Linux システムで複数のバージョンの PHP を共存させるソリューション (超シンプル)

PHP7が出たので、最新バージョンのファンとしては、早速アップグレードして体験してみました。しかし...

mysqlはストアドプロシージャを使用してツリーノード取得メソッドを実装します。

図に示すように: テーブルデータこのようなツリーの場合、「Gao Yinrui」の下のすべてのノード...

無視されたDOCTYPE記述の分析

doctype もその 1 つです。 <!DOCTYPE HTML PUBLIC "...