Mysql

MySQL 一般查詢日誌:顯示準備好的參數值?

  • March 12, 2020

當我啟用 MySQL 正常查詢日誌時,準備好的語句執行記錄如下:

Execute SELECT col1, col2 FROM table1 WHERE col1 = ?

我在 Internet 上看到了其他資訊,我認為這些資訊表明人們看到了準備好的語句參數的替換值,但我根本找不到關於此的資訊。

我需要查看查詢中使用的值,並且無法在客戶端執行此操作,因為它是已編譯的程式碼(儘管我確實嘗試告訴它在埠 3306 上連接,但ngrep顯示沒有流量,所以我想它正在使用套接字如果可用,我不知道用數據包嗅探重建準備好的查詢有多容易)。

如果我設置long_query_time = 0慢查詢日誌會顯示我所追求的值嗎?還有哪些其他可能性?

設置long_query_time = 0and slow_query_log = 1,重新啟動 mysql 在慢查詢日誌中顯示查詢及其實際參數值。

我不會接受這個答案,等待更好的方法來獲取通用查詢日誌以顯示參數值。

您需要在 dev 或 prod 中跟踪查詢嗎?如果只有開發人員,您可以看看Lottip。它顯示帶有參數的準備好的語句。

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