web-dev-qa-db-ja.com

MySQLで永久にイベントスケジューラをオンにする方法は?

Mysqldでイベントスケジューラを永続的にオンにするにはどうすればよいですか?私はphpMyAdminを使用していて、特定の時間にあるテーブルから別のテーブルに毎日レコードをコピーするイベントをスケジュールしましたが、レコードは毎日コピーされていません。イベントスケジューラをオンに設定してみました。

SET GLOBAL event_scheduler="ON"; 

PCを再起動すると、イベントスケジューラがオフになります。 mysqldを再起動したときに、常にオンにして、オフにしないようにするにはどうすればよいですか?

6
user1930115

これは本当に簡単なものです(「ドー」の瞬間の1つ:-))。

説明されているようにmy.cnfに設定します ここ

[mysqld]
..
.. other_stuff
..
event_scheduler=on
..
.. more_stuff
..

(または、Windowsを実行している場合はmy.ini以下に指摘

MySQLのドキュメント こちら から、

イベントスケジューラがオンの場合、イベントスケジューラスレッドはSHOW PROCESSLISTの出力にデーモンプロセスとしてリストされ、その状態は次のように表されます。

daemonプロセスは、 こちら で説明されているようにバックグラウンドで実行されるプロセスです。 Windowsでは service とも呼ばれます

だから、実行:

mysql> SHOW PROCESSLIST\G

そして、このようなエントリがあるはずです:

*************************** 2. row ***************************
     Id: 2
   User: event_scheduler
   Host: localhost
     db: NULL
Command: Daemon      <<<<<====== Note: Daemon!!!
   Time: 3
  State: Waiting for next activation
   Info: NULL
2 rows in set (0.00 sec)
8
Vérace