Schema: phpbb
Table: phpbb_sessions
代碼: 選擇全部
DELIMITER $$
CREATE EVENT `auto_clean_phpbb_sessions`
ON SCHEDULE
EVERY 1 DAY STARTS (TIMESTAMP(CURRENT_DATE) + INTERVAL 3 HOUR)
ON COMPLETION PRESERVE
ENABLE
COMMENT '自動清理phpbb schema中超過1小時未活動的sessions'
DO
BEGIN
DELETE FROM `phpbb`.`phpbb_sessions`
WHERE `session_time` < UNIX_TIMESTAMP() - 3600;
END$$
DELIMITER ;
代碼: 選擇全部
-- 查看所有事件
SHOW EVENTS FROM phpbb;
-- 或者查看所有資料庫的事件
SHOW EVENTS;
-- 查看事件的詳細定義
SHOW CREATE EVENT auto_clean_phpbb_sessions;
查詢最近一小時的sessions數量(當前系統參考值: 9000)1. 備份資料時,需備份 event
2. sessions表中的 session_time 為 long int 的 UNIX_TIMESTAMP(), 即 php time()
3. MySQL now()的資料為時間資料,不是秒數
代碼: 選擇全部
SELECT COUNT(*) FROM phpbb.phpbb_sessions
WHERE session_time between UNIX_TIMESTAMP() - 3600 AND UNIX_TIMESTAMP()