Mysqldでイベントスケジューラを永続的にオンにするにはどうすればよいですか?私はphpMyAdminを使用していて、特定の時間にあるテーブルから別のテーブルに毎日レコードをコピーするイベントをスケジュールしましたが、レコードは毎日コピーされていません。イベントスケジューラをオンに設定してみました。
SET GLOBAL event_scheduler="ON";
PCを再起動すると、イベントスケジューラがオフになります。 mysqldを再起動したときに、常にオンにして、オフにしないようにするにはどうすればよいですか?
これは本当に簡単なものです(「ドー」の瞬間の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)