Mysql

tail -f 等效於 MySQL 日誌數據庫

  • December 7, 2021

決定我們應該使用(MySQL)數據庫來儲存我們的應用程序日誌(它是一個使用 logback 庫的 Java 應用程序)。我希望找到類似的東西tail -f,我可以在該數據庫中的特定表中使用它,它會在添加新行時向我顯示新行(類似於tail -f日誌文件的工作方式)。

打開 MySQL 二進制日誌。然後您可以使用該mysqlbinlog命令查看所有數據修改語句。

我認為有些人不理解這個問題(或者我不理解)。您不想記錄對數據庫的查詢;而是來自應用程序的日誌正在進入數據庫。如果它是一個文件,您可以跟踪日誌。你如何尾隨一個表,以便在添加新行時輸出它?

假設您有一個隨著時間單調增加的唯一欄位(例如,序列號),編寫一個簡單的循環來處理這個問題應該不難。

current_pos = select max(seq) from table
while true
 new_pos = select max(seq) from table
 if new_pos > current_pos
   select * from table where seq > current_pos
   current_pos = new_pos
 endif
 sleep 1
endwhile

引用自:https://serverfault.com/questions/183736