MySQL定時任務不能正常執行的原因分析及解決方法

2022-09-21 00:54:11 字數 809 閱讀 4530

目錄

在使用程式設計客棧資料庫定時任務時,常常會出現定時任務不執行的問題,現對該問題出現的原因及解決方案做一些分析和整理。

當我們發現mysql的定時任務沒有執行時,首先去定時任務中檢視【上次執行】時間是否正確,判斷其是否正常執行,如果正常執行則需要考慮是否是事件邏輯不正確。

如果上次執行時間為空或者不正確,則需要檢視資料庫是否開啟了定時任務,通過執行下列查詢語句進行查詢

show varirahahzchables like 『%event_schedule%'

如果結果為on則說明資料庫開啟了定時任務,為off則沒有開啟。

如果查詢結果為off,有兩種解決方法:

1.直接在資料庫中設定

set global event_scheduler = on;

該方法可以立即生效,但是在資料庫重啟後會失效。

2.在資料庫配置檔案中進行修改

在my.ini的[mysqld]模組中新增如下**:

event_scheduler=on

該方法需要重啟資料庫才能生效,不會隨資料庫重啟而失效。

啟動了資料庫的定時任務後,還需要檢視你自己的定時任務是否可執行,在資料庫中執行如下查詢語句:

show events

檢視查詢結果中的status是否正確,結果為enable代表已啟動。

如果狀態不為enable,我們需要在定時任務的程式設計客棧狀態列將其修改為enable。

有些定時任務是每天或更久才執行一次,如果想要時間自然流動去測試會比較麻煩,這個時候,我們就需要根據計畫修改資料庫伺服器的時間,這樣rahahzch就能快速測試這個定時任務是否能夠正常執行了。

mysql 定時任務 生效 mysql定時任務

1.檢視是否開啟定時策略 show variables like event sche 若出現如下圖,則此時是關閉狀態 開啟定時策略 重啟無效 set global event scheduler 1 則需要在配置檔案my.ini的設定 重啟有效 mysqld event scheduler on ...

Mysql定時任務 定時執行操作

mysql屬於中小型資料庫系統,它的事件排程器event scheduler是在mysql 5.1才開始引入事件排程器是在 mysql 5.1 中新增的另乙個特色功能,可以作為定時任務排程器,取代部分原先只能用作業系統任務排程器才能完成的定時功能。事件排程器是定時觸發執行的,在這個角度上也可以稱作是...

Mysql定時任務 定時執行操作

mysql定時任務 定時執行操作 2010 02 12 來自 web技術之家 字型大小 大 中 小 摘要 本文介紹mysql定時任務 定時執行操作 mysql屬於中小型資料庫系統,它的事件排程器event scheduler是在mysql 5.1才開始引入事件排程器是在 mysql 5.1 中新增的...