mysql如何配置sql記錄
原文鏈接: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記錄