官答丨slow_query_log_file例項記憶體中變數與配置檔案設定的不一致

GreatSQL發表於2024-05-22

官答|slow_query_log_file例項記憶體中變數與配置檔案設定的不一致

官答欄目針對GreatSQL資料庫中的問題,選取官方論壇和討論群中的典型提問進行深入解答。內容涵蓋資料庫安裝部署、配置最佳化、故障排查、效能測試等方面。

在文章中,我們不僅提供解決方案,還會結合例項深入剖析問題的成因,提升讀者對GreatSQL資料庫的理解能力。

如果你在管理、使用GreatSQL資料庫時遇到棘手的技術難題,想系統地學習提高資料庫技能,就來看看官答的文章吧。這裡不僅可以找到可靠的解決方法,還能從中學習到資料庫最佳化的經驗和思路。

透過閱讀官答的內容,可以全面地掌握GreatSQL資料庫管理的技能,熟練應對各種故障情況。快來關注官答欄目,與我們一起成長!


本問題是來自論壇,使用者使用資料庫環境大概介紹如下:

名稱 版本
作業系統版本 BigCloud Enterprise Linux 8
資料庫版本 GreatSQL-8.0.32-25

使用者問題

使用者提供的問題資訊內容如下:

1、my.cnf配置檔案慢慢日誌檔案路徑相關配置:

slow_query_log_file = /data/GreatSQL/logs/slow.log

2、但是在記憶體中查詢到到slow_query_log_file變數卻與配置不一致

mysqladmin var |grep slow_query_log_file
| slow_query_log_file  | /data/GreatSQL/logs/bclinux01.log.000001

解答使用者疑問

1、磁碟上(/data/GreatSQL目錄下)的生成的慢日誌檔名,為什麼和記憶體中查詢到變數與配置檔案中設定的不一致呢?

丟擲疑問:是不是曾經修改過binlog配置,誤操作把 slow_query_log_file 給修改了?

這個問題,當配置檔案寫的是slow_query_log_file = /data/GreatSQL/logs/slow.log

記憶體中show global variables like '%slow%';顯示/data/GreatSQL/logs/bclinux01.log

只有透過SQL指令set global slow_query_log_file='/data/GreatSQL/logs/bclinux01.log'可復現。

2、如果把配置檔案中slow_query_log_file = /data/GreatSQL/logs/slow.log配置資訊註釋,磁碟上的檔名依然是bclinux01.log.000001

my.cnf配置檔案中註釋slow_query_log_file = /data/GreatSQL/logs/slow.log該引數後,若沒有重啟資料庫例項,對於之前已經set global slow_query_log_file修改引數,不對其有任何引數變數影響;如果重啟資料庫例項了,slow log檔名更新為主機名-slow.log

使用者疑問 slow log 日誌為什麼會帶有0000001,一直產生多個 slow.log.xxxxxx 檔案,原因是配置以下引數,當配置了以下引數,資料庫會輪詢產生 slow.log.xxxxxx 檔案

max_slowlog_size = [0 - 1073741824]
max_slowlog_files = [0 - 102400]
  • max_slowlog_size

當日志的大小達到設定值時,伺服器將輪詢慢日誌。預設值為0。如果限制大小並且啟用了該特性,伺服器將慢日誌檔案重新命名為slow_query_log_file.000001

  • max_slowlog_files

該變數限制慢日誌檔案的總量,並與max_slowlog_size一起使用

伺服器建立並新增慢日誌,直到達到範圍的上限。當達到最大值時,伺服器將建立一個序列號較高的新慢日誌檔案,並刪除序列號最低的日誌檔案,以保持在該範圍內定義的總量。

解決使用者問題

透過set global slow_query_log_file = '/data/GreatSQL/slow.log'設定後,再檢視記憶體的資料,顯示的就正確了:

greatsql> show global variables like '%slow%';
| slow_query_log_file   | /data/GreatSQL/slow.log.000001 |

Enjoy GreatSQL 😃

關於 GreatSQL

GreatSQL是適用於金融級應用的國內自主開源資料庫,具備高效能、高可靠、高易用性、高安全等多個核心特性,可以作為MySQL或Percona Server的可選替換,用於線上生產環境,且完全免費併相容MySQL或Percona Server。

相關連結: GreatSQL社群 Gitee GitHub Bilibili

GreatSQL社群:

社群部落格有獎徵稿詳情:https://greatsql.cn/thread-100-1-1.html

image-20230105161905827

技術交流群:

微信:掃碼新增GreatSQL社群助手微信好友,傳送驗證資訊加群

image-20221030163217640

相關文章