社區王牌專欄《一問一實驗:AI 版》全新改版歸來,得到了新老讀者們的關注。其中不乏對 ChatDBA 感興趣的讀者前來咨詢,表達了想試用體驗 ChatDBA 的意愿,對此我們表示感謝 🤟。
目前,ChatDBA 還在最后的準備階段,會盡快跟大家見面。想預約試用的朋友,可以掃碼文末的 預約試用 填寫調研問卷。我們正在對 DBA 群體試用大模型的情況進行調研,這對我們打磨 ChatDBA 的使用體驗非常重要。
下面讓我們正式進入《一問一實驗:AI 版》的第 54 期。
問題
MySQL 一分鐘內 Crash 并重啟了三次,是什么原因導致的?
實驗
1. 將問題丟給 ChatDBA
我們先把這個問題丟給 ChatDBA,讓他看下具體出了什么問題。
可以在愛可生開源社區 B 站或視頻號查看本期完整操作視頻。
左側為流程分析畫布,展示 ChatDBA 對此問題的排查邏輯;右側為互動區域
2. ChatDBA 協助問題排查
本期我們使用了一個之前遇到過的問題來問下 ChatDBA,他首先讓我們去查詢錯誤日志,同時猜測了一些可能導致這個問題的原因。
緊接著我們就將錯誤日志直接發給了 ChatDBA,發現 ChatDBA 識別出日志中包含的類型,同時他也給出了臨時的解決方案,接下來我們將 SQL 語句與對應的表結構輸入給 ChatDBA。
3. ChatDBA 給出解決方案
到這里 ChatDBA 基本上就判斷了問題的根本原因是由于 decimal
做運算時出的問題,而且識別出了對應的 SQL 語句存在異常,接下來 ChatDBA 給到了對應的具體解決方案。
4. 實驗總結
針對該問題 MySQL Crush,其實問題原因有很多。ChatDBA 能夠羅列出 decimal
字段可能導致該問題也是因為 ChatDBA 底層的知識庫足夠豐富,后續我們也將持續補充數據庫領域更多的專業知識。
回到該問題,是由于兩個字段沒有獲取到有效值,而且他們的數據類型為 decimal
類型,當進行數值轉換的時候觸發了 MySQL 的 bug 導致崩潰。
最后配合業務方針對該情況提前做數據判斷,防止異常值直接入庫來避免該問題的出現。
問問 ChatGPT-4o
我們將相同的內容也給到了 ChatGPT,雖然第一輪他也要求我們輸入對應的 error log,但是當我們把內容給到他后,他并沒有識別出什么是關鍵的信息,從而無法有效的指導操作。
更多技術文章,請訪問:https://opensource.actionsky.com/
關于 SQLE
SQLE 是一款全方位的 SQL 質量管理平臺,覆蓋開發至生產環境的 SQL 審核和管理。支持主流的開源、商業、國產數據庫,為開發和運維提供流程自動化能力,提升上線效率,提高數據質量。
? Github:https://github.com/actiontech/sqle
📚 文檔:https://actiontech.github.io/sqle-docs/
💻 官網:https://opensource.actionsky.com/sqle/
👥 微信群:請添加小助手加入 ActionOpenSource
🔗 商業支持:https://www.actionsky.com/sqle