提问人:nakul 提问时间:11/21/2013 最后编辑:Super Kai - Kazuya Itonakul 更新时间:11/18/2023 访问量:119562
即使MySQL重新启动,如何将“event_scheduler”保持为“ON”?
How to persist `event_scheduler` to be `ON` even if MySQL is restarted?
问:
即使MySQL重新启动,我也想坚持下去;我怎样才能做到这一点?event_scheduler
ON
SET GLOBAL event_scheduler = ON;
答:
一种方式 - 您可以设置系统变量,如果有可能重新启动 mysql,则可以使用这些变量。
这是链接 在mysql中使用系统变量
评论
您可以设置
event_scheduler=ON
,然后重新启动服务器以使设置生效。my.ini
my.cnf
一旦设置,无论您的服务器是否重新启动,都将始终保留。event_scheduler
ON
评论
/etc/mysql/my.cnf
/etc/mysql/my.ini
event-scheduler=on
[mysqld]
D:\MariaDB\my.ini
D:\MariaDB\data\my.ini
在我们的 Windows Server 2012 系统上,这些或任何其他解决方案都不起作用。然后我查看了启动的注册表项:
"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.6\my.ini" MySQL56
诀窍,邪恶的,是.事实并非如此。查看程序文件,你会看到一个文件,放在那里只是为了把你搞砸。ProgramData
Program Files
my-default.ini
诀窍是在注册表中找到路径,这对我来说是:HKEY_LOCAL_MACHINE\SYSTEM\Services\MySQL56
打开 /etc/mysql/my.ini 文件并添加:
event_scheduler = on
在 [mysqld] 部分下
(在 mysql 5.5.35-0+wheezy1 - Debian 下测试)
评论
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
在文件末尾添加以下行:
event_scheduler=ON
然后重新启动并检查重新启动后是否启动了守护进程:
登录到 mysql bash:
mysql -u <user> -p
然后运行命令:
SHOW PROCESSLIST;
现在,您应该在列表中看到事件调度程序守护程序
评论
event_scheduler(全局变量)是默认的,因此如果重新启动MySQL,则重置为。ON
event_scheduler
ON
但是,如果你想成为 (),即使 MySQL 重新启动,你也可以使用下面的 SQL 保持 ()。*在运行下面的 SQL 后立即应用更改,并且 () 可用于并且会话变量不存在,文档解释了如何持久化全局变量:event_scheduler
OFF
0
event_scheduler
OFF
0
event_scheduler
ON
1
event_scheduler
event_scheduler
SET PERSIST event_scheduler = OFF;
艺术
SET PERSIST event_scheduler = 0;
艺术
SET @@PERSIST.event_scheduler = OFF;
艺术
SET @@PERSIST.event_scheduler = 0;
此外,您可以禁用以下 SQL 以保留。*下面的 SQL 不会更改全局变量,文档解释了如何禁用持久化全局变量:event_scheduler
event_scheduler
RESET PERSIST event_scheduler;
而且,您可以使用下面的 SQL 显示持久变量。*文档解释表:event_scheduler
persisted_variables
SELECT * FROM performance_schema.persisted_variables WHERE VARIABLE_NAME = 'event_scheduler';
评论