日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql event 日志_MySQL Event计划任务刷慢日志

發(fā)布時(shí)間:2023/12/3 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql event 日志_MySQL Event计划任务刷慢日志 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言

最近在嘗試一個日志系統(tǒng)graylog來收集mysql的慢查詢?nèi)罩咎?#xff0c;供后續(xù)的分析、監(jiān)控和報(bào)警等。測試步驟已經(jīng)到日志已成功收集到graylog,測試時(shí)需要刷一些慢查詢?nèi)罩境鰜怼榱怂⒈容^多的日志和不對測試環(huán)境造成較大的影響,想到了使用mysql的sleep函數(shù)結(jié)合event來做刷慢日志。

MySQL的計(jì)劃任務(wù)是通過event來完成的。相當(dāng)于SQL Server 的Job。下面是實(shí)現(xiàn)過程:

打開mysql的慢日志

set global slow_query_log = 1;

set global long_query_time = 1;

也可以在配置文件議開啟慢日志(建議開啟)

創(chuàng)建event

啟用event事件功能。

set global event_scheduler = 1;

創(chuàng)建event,每1秒執(zhí)行一次。

delimiter $$

create or replace EVENT event_flush_slow_log

ON SCHEDULE

EVERY 1 SECOND

on completion preserve ENABLE

do

begin

SELECT SLEEP(1);

end; $$

delimiter ;

查詢event

show events where Name like '%event_flush_slow_log%'\G;

select * from information_schema.events where event_name='event_flush_slow_log'\G;

開啟這個event

ALTER EVENT event_flush_slow_log ENABLE;

可以看到慢日志一直在寫入了。

# Time: 180126 12:19:57

# User@Host: root[root] @ localhost [localhost]

# Thread_id: 1640 Schema: db1 QC_hit: No

# Query_time: 1.000645 Lock_time: 0.000269 Rows_sent: 1 Rows_examined: 0

# Rows_affected: 0

SET timestamp=1516940397;

SELECT SLEEP(1);

# Time: 180126 12:19:58

# User@Host: root[root] @ localhost [localhost]

# Thread_id: 1641 Schema: db1 QC_hit: No

# Query_time: 1.000575 Lock_time: 0.000203 Rows_sent: 1 Rows_examined: 0

# Rows_affected: 0

SET timestamp=1516940398;

SELECT SLEEP(1);

# Time: 180126 12:19:59

# User@Host: root[root] @ localhost [localhost]

# Thread_id: 1642 Schema: db1 QC_hit: No

# Query_time: 1.000856 Lock_time: 0.000180 Rows_sent: 1 Rows_examined: 0

# Rows_affected: 0

SET timestamp=1516940399;

SELECT SLEEP(1);

完成后,關(guān)閉event

ALTER EVENT event_flush_slow_log DISABLE;

假如不需要這個event,可以刪除

DROP EVENT IF EXISTS event_flush_slow_log;

關(guān)于sleep函數(shù)和event的詳細(xì)用法,請參考相關(guān)文檔,這里不再展開。

定時(shí)刷慢日志也可以使用Linux crontab調(diào)用腳本來做,但每1秒都要登錄一次MySQL來執(zhí)行一次慢查詢,消耗資源較大,不建議這樣做吧。

總結(jié)

以上是生活随笔為你收集整理的mysql event 日志_MySQL Event计划任务刷慢日志的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。