首页
/
每日頭條
/
生活
/
mysql數據空洞問題
mysql數據空洞問題
更新时间:2026-06-27 23:41:34

因為公司是做網絡安全的,所以會對平時設備收到的日志以對應的規則集進行解析然後存入數據庫。涉及大數據,與數據庫的交互量大概是3000條/秒,所以如果設備持續收日志的話,一般兩天時間數據庫對應表的存放的數據量大概就有5、6億條。

有一天我突然發現後台的日志信息一直再報“隊列已滿”的錯誤信息,到數據庫查詢相應表的數據發現其入庫的數據量也是停留在之前的數量(此時該表的數據量已經有大概1億多條了,該信息是為下文作鋪墊的)。按照以往的經驗我将可能會出現的問題挨個排查了一遍,發現都沒有問題,最後我在對應的數據庫查看了一下該庫的 線程運行 情況,情況如下

mysql數據空洞問題(解決MySQL滿屏Waitingfor)1

入庫的insert語句一共有四條線程在執行,就報了四個“Waiting for the table metadata lock”的錯誤,表居然被鎖了,試着kill掉,可是死了馬上就活了,剛開始也不懂,看到表被鎖了就沒有繼續往下看(最關鍵的信息被忽略了),後問了一下公司的前輩,上圖的表中我遺漏了這麼一項重要的信息:

mysql數據空洞問題(解決MySQL滿屏Waitingfor)2

經過前輩講解我才恍然大悟。

原來在數據批量入庫的時候,組内的另一個哥們發現前台對于日志信息的查詢速度有點慢,所以他的想法就是給表中他要查的字段手動加索引“Alter table 'sim_event add index ...'”,可是他犯另一個大錯誤就是這個表現在差不多有1億多數據,要想成功添加得等到猴年馬月了,而對于MySQL而言,如果進行一些Alter table等DDL操作時,如果該表上有未提交的事務就會報Waiting for the table metadata lock的錯誤。

最後重新啟動數據庫,kill掉不必要的線程(其實重啟就好了),入庫就正常了!!!

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
槟榔怎麼吃
槟榔怎麼吃
槟榔最正宗的吃法就是将槟榔果取出、切片用蒌葉包裹着吃。它有生吃和幹吃兩種方式,生吃就是直接吃新鮮的槟榔果肉和果核。幹吃則是将槟榔果曬幹後再食用,或者将槟榔果加工成零食、幹果食用。槟榔還可以用來做菜、煮粥或者入藥等。槟榔莖直立、喬木狀、雌雄同株,花序多分支。它的果實一般呈圓形或卵形,種子呈卵形,花果期...
2026-06-27
微信朋友圈被封怎麼辦
微信朋友圈被封怎麼辦
1、打開手機【微信】。2、點擊【我】→【設置】。3、在【設置】界面中,點擊【帳号與安全】。4、在【帳...
2026-06-27
隔夜蛋撻怎麼加熱才脆
隔夜蛋撻怎麼加熱才脆
要想隔夜蛋撻加熱變脆,建議可以在平底鍋加入兩滴油,搖晃平底鍋讓油蔓延。待油熱後将蛋撻放入鍋中小火慢煎兩分鐘即可。蛋撻如果需要隔夜存放,建議用保鮮膜将其封好再放入冰箱,這樣可以防止蛋撻變質。蛋撻是一種以蛋漿做成餡料的西式餡餅,台灣稱為蛋塔,“撻”是英文“tart”的音譯,意指餡料外露的餡餅,蛋撻即以蛋...
2026-06-27
冬天适合釣什麼魚
冬天适合釣什麼魚
1、冬天适合釣鲫魚、鯉魚、青魚等。絕大部分釣友在冬天都會選擇釣鲫魚,因為冬天的時候魚兒都不進食了,但...
2026-06-27
給試管中的液體加熱的方法
給試管中的液體加熱的方法
給試管中的液體加熱的主要方法是采用外焰進行加熱,常見的加熱工具是酒精燈等物件。建議在給試管中的液體進行加熱時,液體的含量盡量不超過試管總量的三分之一,液體含量太多可能會不利于加熱。加熱試管中液體的小技巧,建議在加熱試管中的液體時,将試管口對向沒有人的方向,盡量避免液體沸騰時不慎散落或濺射傷害到人。加...
2026-06-27
Copyright 2023-2026 - www.tftnews.com All Rights Reserved