mysql 歷史記錄

      程序出現了問題,明知道多是sql語句形成的,可是由於框架的緣由,分析起來十分麻煩,因而打算直接查看數據庫裏面的歷史記錄. mysql

      查看mysql的語句,比較經常使用的大概是show processlist 命令了,可是這個對於查詢時間比較長的語句比較有意義,對於一會兒就能執行的語句真心拼不過手速啊. sql

     因而就只能從mysql的歷史記錄裏面着手了.爲了實現這個目的,咱們須要修改/etc/my.cnf文件. 數據庫

     在my.cnf中的[mysqld](其餘地方可能無效)下插入log=/etc/tmp/mysql.log(日誌的地址能夠本身定義,不過不要在home裏面,不然可能顯示不出來,主要要有寫的權限).而後要重啓數據庫,用service mysqld restart命令就能夠了.這個log會將全部的執行語句記錄下來,因此在數據庫很忙的時候,這個日誌可能變得很大,不宜查看. 框架

     用tail -f /etc/tmp/mysql.log 命令能夠持續觀察執行語句,也能夠將該文件下載下來慢慢看. spa

=========================================      rest

    另外還有一個慢查詢歷史記錄,也在my.cnf文件裏,配置語句爲 日誌

    log-slow-queries=/var/lib/mysql/slowquery.log
    long_query_time=5 索引

    log-queries-not-using-indexes ssl

    其中log-slow-queries是慢查詢歷史記錄的地址,long_query_time限定超過X秒才能加入到歷史記錄裏面,log-queries-not-using-indexes限定沒有使用索引的查詢語句. 配置

這個日誌因爲記錄語句很少,因此能夠長期開啓.

相關文章
相關標籤/搜索