2013-11-21 35 views
17

Tôi muốn đặt event_scheduler toàn cầu thành ON ngay cả khi MySQL được khởi động lại; Làm thế nào tôi có thể đạt được điều này?Làm thế nào để thiết lập event_scheduler toàn cầu = ON ngay cả khi MySQL được khởi động lại?

SET GLOBAL event_scheduler = ON; 
+0

một cách - bạn có thể đặt biến hệ thống và sử dụng các biến đó bất cứ khi nào cần thiết (http://dev.mysql.com/doc/refman/5.0/vi /using-system-variables.html). – Suleman

Trả lời

1

Một cách - Bạn có thể đặt biến hệ thống và sử dụng các biến đó nếu có bất kỳ khả năng khởi động lại mysql của bạn.

Dưới đây là liên kết Using system variables in mysql

+2

"Nếu bạn thay đổi biến hệ thống toàn cầu, giá trị được ghi nhớ và sử dụng cho các kết nối mới cho đến khi máy chủ khởi động lại. (Để thiết lập biến toàn cục hệ thống vĩnh viễn, bạn nên đặt nó trong tệp tùy chọn)" – mvmn

19

Bạn có thể đặt

event_scheduler=ON 

trong file my.ini hoặc my.cnf, sau đó khởi động lại máy chủ của bạn cho các thiết lập có hiệu lực.

Sau khi đặt event_scheduler sẽ luôn giữ nguyên ON cho dù máy chủ của bạn có khởi động lại hay không.

+0

Về trường hợp của tôi (Ubuntu 14.04.4 LTS), thêm nó vào '/ etc/mysql/my.cnf' làm thủ thuật, trong khi thêm nó vào'/etc/mysql/my.ini' không làm gì cả. – cavpollo

+0

Trên máy chạy Windows có MySQL 5.7, 'event-scheduler = on' làm việc cho tôi – Ananth

-4

Ngoài ra bạn có thể sử dụng

SET GLOBAL event_scheduler = 1; 

Sau đó khởi động lại máy chủ của bạn cho các thiết lập có hiệu lực.

1

Trên hệ thống Windows Server 2012 của chúng tôi, không có giải pháp nào trong số này hoặc bất kỳ giải pháp nào khác hoạt động. Sau đó, tôi nhìn vào mục đăng ký cho khởi động:

"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.6\my.ini" MySQL56

Bí quyết, tà ác, là ProgramData. Nó không phải là Program Files. Nhìn vào Program Files và bạn sẽ thấy một tập tin my-default.ini, đặt ở đó chỉ để royally vít bạn lên.

Bí quyết là để tìm đường dẫn trong registry, đó là đối với tôi: HKEY_LOCAL_MACHINE\SYSTEM\Services\MySQL56

19

Mở /etc/mysql/my.ini tập tin của bạn và thêm:

event_scheduler = on 

dưới [mysqld] phần

(kiểm tra trong mysql 5.5.35-0 + wheezy1 - Debian)

+3

Trong một số bản phân phối Linux, tệp nằm dưới /etc/my.cnf – RonEskinder

+1

Cần thiết cho tôi, sử dụng MariaDB, bao gồm dòng bên trong [ mysqld] phần như đề xuất. –

+0

/usr/local/etc/mysql cho FreeBSD – Alpha2k

0
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf 

Thêm dòng này vào cuối file:

event_scheduler=ON 

Thần khởi động lại và kiểm tra xem daemon được bắt đầu sau khi khởi động lại:

Đăng nhập vào mysql bash:

mysql -u <user> -p 

Than chạy lệnh:

SHOW PROCESSLIST; 

Bây giờ bạn sẽ thấy trình tiện ích lập lịch sự kiện trong danh sách

Các vấn đề liên quan