即使 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 状态。


相关文章