1. 程式人生 > >mysql如何配置sql記錄

mysql如何配置sql記錄

lean edit target 似的 51cto put cto www 不同

原文鏈接: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記錄