首页
/
每日頭條
/
生活
/
mysql數據空洞問題
mysql數據空洞問題
更新时间:2025-01-27 19:39:14

因為公司是做網絡安全的,所以會對平時設備收到的日志以對應的規則集進行解析然後存入數據庫。涉及大數據,與數據庫的交互量大概是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
推荐阅读
自家wifi如何判斷有沒有蹭網的
自家wifi如何判斷有沒有蹭網的
1.系統連接wifi。2.打開電腦浏覽器,輸入路由器背後銘牌的網關ip地址(一般是192.168.1...
2025-01-27
芡實蓮子粥怎麼做
芡實蓮子粥怎麼做
1、準備好材料:芡實、茯苓各15克,大米适量。2、将芡實粉、茯苓磨粉狀,一同放入碗内,用溫水調成糊;3、粳米淘洗幹淨,用冷水浸泡半小時,撈出,瀝幹水分;4、鍋中加入約1200毫升冷水,将粳米放入,用旺火燒沸;5、緩緩倒入芡實茯苓糊,攪拌均勻,改用小火熬煮;6、見米爛粥成時,下入鹽調好味,稍焖片刻,即...
2025-01-27
自制三明治可以存放多久
自制三明治可以存放多久
自制三明治常溫情況下可以存放4個小時左右,冰箱冷藏可以存放2到3天。三明治放置時間過久會導緻火腿氧化變色,黃瓜失水變蔫,并且三明治中的火腿和奶酪很容易發酸變質,容易滋生細菌,建議制作後馬上食用。三明治過夜保存方法:1、保證三明治的清潔環境衛生。2、用保鮮袋包囊好全部三明治,阻隔病菌和水份。3、将三明治放進冰箱冷藏室,溫度設定在3-10度中間。4、冷凍包裝好的三明治,依據食物不一樣能夠放2-3天上下
2025-01-27
貓吃了螃蟹殼怎麼處理
貓吃了螃蟹殼怎麼處理
第一、注意觀察貓咪的狀況如果是小貓咪吃了螃蟹殼的話,一定要注意觀察貓咪是否有被螃蟹殼卡住的問題,比如貓咪開始類似于人咳嗽的樣子,或出現流涎、嗓子裡難受的樣子,有的話第一時間去寵物醫院。第二、喂食一些貓糧那一些貓咪喜歡吃的貓糧給它,看看貓咪吃不吃,如果能吃的話且沒有其他反應,一般問題不大。第三、多喂點...
2025-01-27
孕婦産後如何減肥
孕婦産後如何減肥
1、首先就是在飲食上做出調整。早餐盡量吃玉米,小麥,小米等都可以選擇,還要吃個蘋果。午餐就正常吃飯,...
2025-01-27
Copyright 2023-2025 - www.tftnews.com All Rights Reserved