標籤:講解 開啟 換行 variable time 不能 zed 否則 developer
原文連結:http://www.qqdeveloper.com/detail/11/1.html
為什麼要記錄sql記錄
主要目的是為了檢測我們的網站安全問題,有效避免一些sql注入或者是xss攻擊。
如何?
這裡主要以windows系統中的my.ini檔案為例,Linux系統的設定檔是my.conf,本例中以5.6為例。
?方式一
? ?log = "D:/wamp64/logs/mysql.log" // 日子記錄檔案
? ?log_slow_queries = “D:/wamp64/logs/mysql.log” // 記錄日誌查詢時間長度的檔案
? ?long_query_time = 1 // 查詢時間長度
?方式二、
? ?general_log = ON
? ?general_log_file = "D:/wamp64/logs/mysql.log"
?方式三、通過命令列實現
??首先通過我們的終端登入到mysql中去。輸入如下命令即可開啟。
??set global general_log = on;
??set GLOBAL log_output = ‘table‘;
配置注意事項
A 日誌存放目錄必須提前存在,否則不能記錄日誌。這裡也局勢C:/temp目錄必須已經存在
B 記錄檔是linux格式的文本,建議用ultraEdit開啟,轉換為dos格式查看(否則沒有換行,看不懂的)
C 服務在啟動狀態下不能刪除記錄檔,否則就無法記錄sql語句了。
D 不能用ultraEdit直接清除檔案內容後儲存,否則也記錄不下來了。需要重啟服務,如果ultraEdit儲存了.bak,後記錄到此檔案中。
E 可以用notepad清除文本後儲存,可以繼續記錄日誌。
可能錯誤講解
?1.當我們採用方式一的時候,可能會提示如下類似的錯誤資訊(改錯誤資訊在mysql預設的記錄檔中查看)
? ?option ‘general_log‘: boolean value ‘ON;‘ wasn‘t recognized. Set to OFF.
??解決辦法採用配置方式二,這樣的原因是mysql不同的版本所導致的的。
?2.當我們在使用第二個方式配置的時候,可能會提示如下的類似錯誤資訊。
? ?option ‘general_log‘: boolean value ‘ON;‘ wasn‘t recognized. Set to OFF.
? ?解決辦法是講我們的ON配置值改為1即可,這樣的原因是mysql不同的版本所導致的的。
?3.同樣的才使用方式一配置是,可能會出現如下的類似資訊。
? ?unknown variable ‘log=D:/wamp64/logs/mysql.log‘
? ?解決辦法參考參考連結,改原因都屬於版本不同
?
?
?
mysql如何配置sql記錄