1、首先找到MySQL的配置文件my.cnf,在[mysqld]下添加
網(wǎng)站設(shè)計(jì)制作過程拒絕使用模板建站;使用PHP+MYSQL原生開發(fā)可交付網(wǎng)站源代碼;符合網(wǎng)站優(yōu)化排名的后臺(tái)管理系統(tǒng);做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)收費(fèi)合理;免費(fèi)進(jìn)行網(wǎng)站備案等企業(yè)網(wǎng)站建設(shè)一條龍服務(wù).我們是一家持續(xù)穩(wěn)定運(yùn)營了十年的創(chuàng)新互聯(lián)建站網(wǎng)站建設(shè)公司。
2、general_log_file=~/query.log
3、同時(shí),登錄MySQL console中設(shè)置打開log
4、mysql -uroot
5、 SET global general_log = 1;
6、重啟MySQL之后就可以在當(dāng)前用戶的HOME目錄中通過query.log查看SQL日志了。
1)怎么查看mysql是否啟用了日志
mysqlshow variables like 'log_bin';
2)怎樣知道當(dāng)前的日志
mysql show master status;
3)如何查看當(dāng)前的二進(jìn)制日志,可以使用mysqlbinlog的的工具,命令如下:
shellmysqlbinlog mail-bin.000001(要寫絕對問題路徑 d://)
或者shellmysqlbinlog mail-bin.000001 | tail
4)mysql有以下幾種日志:
錯(cuò)誤日志:????
-log-err
查詢?nèi)罩荆????
-log
慢查詢?nèi)罩????
-log-slow-queries
更新日志:?????
-log-update
二進(jìn)制日志:?
-log-bin
在mysql的安裝目錄下,打開my.ini,在后面加上上面的參數(shù),保存后重啟mysql服務(wù)就行了。
例如:
#Enter a name for the error
log file.?? Otherwise a default
name will be used.
log-error=err.log
#Enter a name for the query
log file. Otherwise a default name will be used.
#log=
#Enter a name for the slow
query log file. Otherwise a default name will be used.
#log-slow-queries=
#Enter a name for the update
log file. Otherwise a default name will be used.
#log-update=
#Enter a name for the binary
log. Otherwise a default name will be used.
#log-bin=
上面只開啟了錯(cuò)誤日志,要開其他的日志就把前面的“#”去掉。
long_query_time =2--
這里設(shè)置慢日志的最大實(shí)現(xiàn)是指執(zhí)行超過多久的sql會(huì)被log下來,這里是2秒
log-slow-queries=slowqueris.log --將查詢返回較慢的語句進(jìn)行記錄,這里設(shè)置慢日志的名稱
log-queries-not-using-indexes
= nouseindex.log --就是字面意思,log下來沒有使用索引的query
5)下面是配置日志的幾種方式,不一定全都要配置,請根據(jù)自身需求選擇性配置
log=mylog.log
--對所有執(zhí)行語句進(jìn)行記錄
log-error=log-error.log
log=log-query.log
log-queries-not-using-indexes
log-warnings=2
log-slow-queries=log-slow-query.log
log-update=log-update.log
long_query_time=2
配置MySQL執(zhí)行日志的文件只記錄日志到文件。
因?yàn)閺?.1.6版本開始,日志表會(huì)在安裝過程中隨其它系統(tǒng)表一同創(chuàng)建。
默認(rèn)情況下,如果日志沒有配置,則只記錄錯(cuò)誤日志,記錄到syslog。
My SQL可以用下面方法跟蹤sql 語句,以下方法以Windows平臺(tái)為例,linux雷同:
1 配置my.ini文件(在安裝目錄,linux下文件名為my.cnf
查找到[mysqld]區(qū)段,增加日志的配置,如下示例:[mysqld]log=C:/temp/mysql.log
log_slow_queries=C:/temp/mysql_slow.log
long_query_time=1
log指示日志文件存放目錄;
log_slow_queries指示記錄執(zhí)行時(shí)間長的sql日志目錄;
long_query_time指示多長時(shí)間算是執(zhí)行時(shí)間長,單位s。
Linux下這些配置項(xiàng)應(yīng)該已經(jīng)存在,只是被注釋掉了,可以去掉注釋。但直接添加配置項(xiàng)也OK啦。
2 重新啟動(dòng)mysql服務(wù)。注意事項(xiàng):A日志存放目錄必須提前存在,否則不能記錄日志。這里也局勢C:/temp目錄必須已經(jīng)存在
B 日志文件是linux格式的文本,建議用ultraEdit打開,轉(zhuǎn)換為dos格式查看(否則沒有換行,看不懂的)
C 服務(wù)在啟動(dòng)狀態(tài)下不能刪除日志文件,否則就無法記錄sql語句了。
D 不能用ultraEdit直接清除文件內(nèi)容后保存,否則也記錄不下來了。需要重啟服務(wù),如果ultraEdit保存了.bak,后記錄到此文件中。
E 可以用notepad清除文本后保存,可以繼續(xù)記錄日志。