如何在 MySQL 中永久打开事件调度程序?

use*_*115 6 mysql phpmyadmin mysql-5.5 event

如何永久打开 mysqld 中的事件调度程序?我正在使用 phpMyAdmin,我已经安排了一个事件,每天在特定时间将记录从一个表复制到另一个表,但记录并不是每天都被复制。我试过设置事件调度程序。

SET GLOBAL event_scheduler="ON"; 
Run Code Online (Sandbox Code Playgroud)

当我重新启动我的电脑时,事件调度程序被关闭。如何使它始终打开,并且在重新启动 mysqld 时不关闭?

Vér*_*ace 8

这真的很简单(那些“Doh”时刻之一:-))。

my.cnf按照此处的说明进行设置

[mysqld]
..
.. other_stuff
..
event_scheduler=on
..
.. more_stuff
..
Run Code Online (Sandbox Code Playgroud)

(或者,my.ini如果您正在运行 Windows,如下所述

此处的 MySQL 文档中,您有:

当 Event Scheduler 为 ON 时,事件调度程序线程在 SHOW PROCESSLIST 的输出中列为守护进程,其状态表示如下所示:

daemon过程是一项所述在后台运行这里。在 Windows 中也称为服务

所以,运行:

mysql> SHOW PROCESSLIST\G
Run Code Online (Sandbox Code Playgroud)

应该有这样的条目:

*************************** 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)
Run Code Online (Sandbox Code Playgroud)