[原創]使MySQL註釋語句在後臺能夠輸出的方法
阿新 • • 發佈:2018-12-07
開啟general log或slow log的時候,前端發出的sql語句中的註釋都別遮蔽掉了。
本意加註釋我們想通過註釋來快速知道sql是由哪個業務模組發出的。這點對dba和研發很有幫助。
一種變通的思路是採用 /*!版本號 執行內容 */的方式來實現。
另外,偶然發現percona tools執行的時候,有類似/*pt-online-schema-change 26317 copy nibble*/的註釋被記錄在log中。
但是並沒發現有任何相關的變數被提前設定。
隨後發現mysql也有這樣的命令引數
-c, --comments Preserve comments. Send comments to the server. The
default is --skip-comments (discard comments), enable
with --comments.
測試mysql -c登入,執行帶有/* test only */的語句,可以被log記錄下來。
在my.cnf中client和mysql兩個部分分別增加以下comments內容,測試都生效。
[client]
comments
[mysql]
comments
然後mysql --defaults-file=fullname的方式登入,效果相同。