Ответ 1
Один способ. Вы можете установить системные переменные и использовать эти переменные, если есть возможность перезапустить mysql.
Вот ссылка Использование системных переменных в mysql
Я хочу установить event_scheduler
global в ON
, даже если MySQL перезагружен; как я могу это достичь?
SET GLOBAL event_scheduler = ON;
Один способ. Вы можете установить системные переменные и использовать эти переменные, если есть возможность перезапустить mysql.
Вот ссылка Использование системных переменных в mysql
Вы можете установить
event_scheduler=ON
в файле my.ini или my.cnf, а затем перезагрузите сервер, чтобы эта настройка вступила в силу.
После установки event_scheduler
всегда останется ON
независимо от того, перезагрузится ли ваш сервер.
Откройте файл /etc/mysql/my.ini и добавьте:
event_scheduler = on
в разделе [mysqld]
(проверено в mysql 5.5.35-0 + wheezy1 - Debian)
В нашей системе 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
. Посмотрите в Program Files, и вы увидите файл my-default.ini
, поместив его только для того, чтобы повернуть вас в русификацию.
Трюк заключается в том, чтобы найти путь в реестре, который был для меня: HKEY_LOCAL_MACHINE\SYSTEM\Services\MySQL56
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Добавьте эту строку в конец файла:
event_scheduler=ON
Затем перезагрузитесь и проверьте, запущен ли демон после перезагрузки:
Войдите в mysql bash:
mysql -u <user> -p
Запустите команду:
SHOW PROCESSLIST;
Теперь вы должны увидеть демона планировщика событий в списке
Также вы можете использовать
SET GLOBAL event_scheduler = 1;
Затем перезапустите сервер, чтобы этот параметр вступил в силу.