20200827記一次MySQL事件使用經過

2021-10-23 21:49:14 字數 955 閱讀 2628

工作原因需要對某個表的值做定時變更,對實時性有點要求所以使用了資料庫自帶的事件。

-- 檢測事件

show variables like '%event_scheduler%';

-- 顯示事件

show events;

-- 開關事件

alter event event_name disable;

alter event event_name enable;

-- 刪除事件

drop event if exists `庫名`.`事件名`;

建立過程
delimiter $$

drop event if exists `庫名`.`事件名`;

create definer = current_user event `庫名`.`事件名`

on schedule

every 1 year starts '2020-9-1'

-- every 1 year 每隔一年 ; starts '2020-9-1' 從此開始

-- 此處 every 開頭這一行可替換為 at '時間點' 來定時執行一次,注意只能是將來時,否則不執行

on completion preserve -- 執行完不刪除事件

enable -- 建立後預設開啟

comment '這裡是注釋內容'

do begin

-- 所要執行的sql等

end$$

delimiter ;

本地測試的過程中發現更改系統時間而事件不執行的問題,原因應該是mysql因為效能原因對定時任務做了一定優化,根據定時的時間間隔來調整了事件的檢測時間。

解決方法也有:

建立事件

更改時間

重啟mysql服務

開啟事件(若已在ini裡配置則忽略)

檢測結果

記一次Linux上rpm方式安裝mysql的過程

安裝過程 root hoas wget root hoas wget root hoas rpm ivh mysql client 5.6.46 1.el7.x86 64.rpm root hoas rpm ivh mysql server 5.6.46 1.el7.x86 64.rpm使用過程以及...

記一次除錯

這是我最近幾個月來遇到的最棘手的乙個問題 昨天花了4個小時找出第一層次的原因 這個糾結啊,本來和老婆說好準時下班回家吃飯的,結果被這個問題拖了老久。這是乙個gradle的plugin,用來resolve公司內部的dependency的,弄完了跑測試專案的,拋乙個npe,而且npe還不在自己的 裡面。...

記一次 EqualsAndHashCode的疑惑

lombok的使用真的是讓開發人員欲罷不能,乙個 data不管有多少屬性全部搞定,以後加字段也不用從新生成get和set方法。不過這裡還是有乙個小坑需要注意一下,舉個例子 public class equalsandhashcodetest data noargsconstructor access...