即使 MySQL 重新启动,如何设置全局 event_scheduler=ON?
mysqlmysqli database
只有一种方法可以设置全局 event_scheduler=ON,即使 MySQL 重新启动。您需要将全局系统变量设置为 ON,并且即使 MySQL 重新启动也需要使用此系统变量。
为此,我使用 select 语句使用系统变量 @@event_scheduler。查询如下:
mysql> select @@event_scheduler;
输出结果如下:
+-------------------+ | @@event_scheduler | +-------------------+ | ON | +-------------------+ 1 row in set (0.00 sec)
现在,重新启动 MySQL。查询如下:
mysql> restart; Query OK, 0 rows affected (0.00 sec)
重新启动服务器后,连接会丢失一段时间。如果您使用任何查询,您将收到以下错误消息:
mysql> select @@event_scheduler; ERROR 2013 (HY000): Lost connection to MySQL server during query
一段时间后,如果您再次使用 select 语句使用系统变量 @@event_scheduler,那么您将获得相同的输出,即 ON。查询如下:
mysql> select @@event_scheduler; ERROR 2006 (HY000): MySQL server has gone away No connection. Trying to reconnect... Connection id: 8 Current database: *** NONE *** +-------------------+ | @@event_scheduler | +-------------------+ | ON | +-------------------+ 1 row in set (0.04 sec)
或者您也可以在 my.cnf 文件或 my.ini 文件中将 event_scheduler 设置为 ON。语句如下:
[mysqld] event_scheduler = ON;
现在您的 event_scheduler 已处于 ON 状态。无论您的服务器是否重新启动,它都将始终处于 ON 状态。