1. 程式人生 > >MySQL日誌之普通查詢日誌和慢查詢日誌

MySQL日誌之普通查詢日誌和慢查詢日誌

Intro

之前的一篇分享提到,MySQL的日誌型別可以分為三種,錯誤日誌(error_log),查詢日誌(query_log),和二進位制日誌(binary_log),error_log的介紹與用法詳見MySQL日誌之error_log,本文主要介紹general_log和slow_query_log的原理和用法。

通用查詢日誌

通用查詢日誌(general_log)主要用於查詢各client連線資料庫時的相關資訊與在資料庫上執行的SQL語句,配置方法為:

1、查詢通用查詢日誌是否開啟與其存放路徑:

mysql> show variables like "general_log%";
+------------------+------------------------------+
| Variable_name | Value | +------------------+------------------------------+ | general_log | OFF | | general_log_file | /var/lib/mysql/localhost.log | +------------------+------------------------------+ 2 rows in set (0.00 sec)

螢幕輸出中general_loggeneral_log_file

記錄了當前通用查詢日誌的開關狀態與路徑。

2、開啟通用查詢日誌

    set global general_log = ON

查詢是否成功:

mysql> show variables like "general_log%";
+------------------+------------------------------+
| Variable_name    | Value                        |
+------------------+------------------------------+
| general_log      | ON                           |
| general_
log_file | /var/lib/mysql/localhost.log | +------------------+------------------------------+ 2 rows in set (0.00 sec)

成功。

退出一下看有沒有生成並且正確記錄:

[[email protected] ~]# cat /var/lib/mysql/localhost.log
/usr/sbin/mysqld, Version: 5.7.19 (MySQL Community Server (GPL)). started with:
Tcp port: 3306  Unix socket: /var/lib/mysql/mysql.sock
Time                 Id Command    Argument
2017-08-14T09:33:11.364650Z     5 Quit  
2017-08-14T09:33:20.671113Z     6 Connect   [email protected] on  using Socket
2017-08-14T09:33:20.671323Z     6 Query select @@version_comment limit 1
2017-08-14T09:33:22.964610Z     6 Query show variables like '%log%'
2017-08-14T09:33:24.574224Z     6 Quit  

成功,並且我們可以看到,log不僅記錄了SQL命令,同時也包括了執行時間、Id、命令型別等相關資料

慢查詢日誌

慢查詢日誌記錄了SQL語句時間超過了預設的long_query_time的語句,在資料量較大的情況下,可以看看慢查詢日誌中有哪些語句需要進行優化。

1、慢查詢日誌的配置

慢查詢日誌的配置可以在資料庫配置檔案my.cnf中查到:

[root@localhost ~]# cat /etc/my.cnf | grep -E 'long|slow|not_using_indexes'
long_query_time = 1
#log-slow-queries = /var/log/mysql/slow.log
log_queries_not_using_indexes

可以看到:

long_query_time = 1的意思是SQL語句執行時間超過1s的,對其進行記錄;
log-slow-queries = /var/log/mysql/slow.log是對慢查詢日誌路徑的設定;
log_queries_not_using_indexes意思為不使用索引的語句,可以縮小記錄的目標

實際配置與通用查詢日誌相同,在mysql互動介面中輸入命令開啟慢查詢日誌:

    set slow_query_log = ON

2、查詢是否成功

[root@localhost ~]# cat /var/lib/mysql/localhost-slow.log
/usr/sbin/mysqld, Version: 5.7.19 (MySQL Community Server (GPL)). started with:
Tcp port: 3306  Unix socket: /var/lib/mysql/mysql.sock
Time                 Id Command    Argument

成功。

但注意,slow_query_log可能會記錄到與使用者許可權和密碼相關的語句,因此在使用慢查詢日誌檔案時請注意日誌的安全儲存。

相關推薦

MySQL日誌普通查詢日誌查詢日誌

Intro 之前的一篇分享提到,MySQL的日誌型別可以分為三種,錯誤日誌(error_log),查詢日誌(query_log),和二進位制日誌(binary_log),error_log的介紹與用法詳見MySQL日誌之error_log,本文主要介紹gene

MySQL日誌檔案錯誤日誌查詢日誌詳解

實驗環境:MySQL Community Server (GPL) 5.7.17、Ubuntu 16.04 一、MySQL日誌檔案分類 官方文件: 日誌檔案記錄了影響MySQL資料庫的各種型別活動。常見的日誌有以下幾個: 1、錯誤日誌(err

mysql開啟binlog日誌查詢日誌

logs launch style spa 簡單 bsp mys 自動 文件的 1)首先,為什麽要開啟binlog日誌和慢查詢日誌呢? binlog日誌會記錄下數據庫的所以增刪改操作,當不小心刪除、清空數據,或數據庫系統出錯,這時候就可以使用binlog日誌來還原數據庫,

MySQL通用查詢日誌查詢日誌分析

MySQL中的日誌包括:錯誤日誌、二進位制日誌、通用查詢日誌、慢查詢日誌等等。這裡主要介紹下比較常用的兩個功能:通用查詢日誌和慢查詢日誌。 1)通用查詢日誌:記錄建立的客戶端連線和執行的語句。 2)慢查詢日誌:記錄所有執行時間超過longquerytime秒的所有查詢或者不使用索引的查詢

關於MySQL 通用查詢日誌查詢日誌分析

MySQL中的日誌包括:錯誤日誌、二進位制日誌、通用查詢日誌、慢查詢日誌等等。這裡主要介紹下比較常用的兩個功能:通用查詢日誌和慢查詢日誌。 1)通用查詢日誌:記錄建立的客戶端連線和執行的語句。 2)慢查詢日誌:記錄所有執行時間超過longquerytime秒的所有查詢或者不使用索引的查詢 (1)通用查詢

MySQL 第20天 MySQL日誌 錯誤日誌、二進位制日誌查詢日誌查詢日誌

MySQL日誌在任何一種資料庫中,都會有各種各樣的日誌,記錄著資料庫工作的方方面面,以幫助資料庫管理員追蹤資料庫曾經發生過的各種事件在 MySQL 中,有 4 種不同的日誌,分別是錯誤日誌、二進位制日誌(BINLOG 日誌)、查詢日誌和慢查詢日誌錯誤日誌錯誤日誌是 MySQL

MySql 5.7 開啟binlog查詢日誌

MySQL5.7版本中,my.cnf的位置一般在/etc/my.cnf,要在my.cnf中新增: [mysqld] log-bin=/var/log/mysql-binlog/mysql-binlog server-id=1 slow_query_log=ON slow_

mysql優化專題」什麽是查詢?如何通過查詢日誌優化?(10)

logs stat bst 二進制日誌 help use dumps 根據 客戶 日誌就跟人們寫的日記一樣,記錄著過往的事情。但是人的日記是主觀的(記自己想記的內容),而數據庫的日誌是客觀的,根據記錄內容分為以下好幾種日誌(技術文): a、錯誤日誌:記錄啟動、運行或停止my

《高效能Mysql》重點總結(五)——查詢日誌、show profile、mysql鎖以及主從複製

本篇將介紹慢查詢日誌、show profile、mysql鎖以及主從複製。 一、慢查詢日誌 1. 是什麼 MySQL的慢查詢日誌是MySQL提供的一種日誌記錄,它用來記錄在MySQL中響應時間超過閥值的語句,具體指執行時間超過long_query_time值

MySQL索引原理查詢優化

1. 索引介紹 需求:   一般的應用系統,讀寫比例在10:1左右,而且插入操作和一般的更新操作很少出現效能問題,在生產環境中,我們遇到最多的,也是最容易出問題的,還是一些複雜的查詢操作,因此對查詢語句的優化顯然是重中之重。說起加速查詢,就不得不提到索引了。 索引:    簡單的說,相當於

mysql優化(1)show命令 查詢日誌 explain profiling

目錄 一、優化概述 二、查詢與索引優化分析 1效能瓶頸定位 Show命令 慢查詢日誌 explain分析查詢 profiling分析查詢 2索引及查詢優化 三、配置優化 1)      max_connections 2)      back_lo

MySQL管理道-筆記-undo log回滾日誌物理文件空間回收

共享 想要 req .cn directory 文件 釋放 mysql5 初始化 undo log回滾日誌物理文件空間回收MySQL5.6之前undo log在ibdata1文件裏,ibdata1文件會越來越大,想要回收,必須全庫導出,刪除data目錄,再重新初始化數據庫,

41 MYSQL 索引查詢優化

一 .索引mysql 索引 b+tree本質:通過不斷地縮小想要獲取資料的範圍來篩選出最終想要的結果,同時把隨機的事件變成順序的事件,也就是說,有了這種索引機制,我們可以總是用同一種查詢方式來鎖定資料。索引注意的問題: 1. 索引欄位要儘量小,訪問磁碟查詢時,儘量減少io 2.索引 選 區別度

Navicat使用教程(三):使用MySQL日誌(第3部分)——日誌

下載Navicat for MySQL最新版本 Navicat for MySQL 是一套管理和開發 MySQL 或 MariaDB 的理想解決方案。使用Navicat for MySQL可以同時連線到 MySQL 和 MariaDB。Navicat for MySQL提供了強大的前端功能,為

MYSQL性能查看(命中率,查詢)

mysql性能查看(命中率 慢查詢) 網上有很多的文章教怎麽配置MySQL服務器,但考慮到服務器硬件配置的不同,具體應用的差別,那些文章的做法只能作為初步設置參考,我們需要根據自己的情況進行配置優化,好的做法是MySQL服務器穩定運行了一段時間後運行,根據服務器的”狀態”進行優化。  mysql>

mysql系列5--完全備份增量備份

bsp 定時 實時 sta form sql -a posit 密碼 一、利用系統自帶的工具實現完全備份:mysqldump1、備份所有的數據庫: mysqldump -hlocalhost -uroot -p12345678 --all-database

Logstash收集nginx日誌使用grok過濾插件解析日誌

stat 使用 ssa agent AD IT ber ems tput grok作為一個logstash的過濾插件,支持根據模式解析文本日誌行,拆成字段。 nginx日誌的配置: log_format main ‘$remote_addr - $rem

MySQL查詢過程高階查詢

通過中篇的介紹,你會了解到: MySQL查詢過程 高階查詢相關概念 explain命令詳細介紹 索引優化建議 MySQL查詢過程 想要更好的優化查詢,首先要了解其整體查詢過程,從客戶端傳送查詢請求,到接收到查詢結果,MySQL伺

logback日誌的使用,每天生成一個日誌檔案,以及error其他級別日誌的分離

springboot會自動幫我們讀取logback的配置檔案,我們實現只需要新增即可在application中配置日誌檔案的位置logging: config: classpath:conf/logback-dev.xml配置檔案的內容如下:<?xml versio

Mysql 的連線(join)查詢

連線(JOIN)和子查詢 子查詢一般是將查詢出來的結果作為其他查詢的結果使用。例如,我們要將客戶基本資訊表中沒有任何訂單的客戶刪除掉,就可以利用子查詢先從銷售資訊表中將所有發出訂單的客戶ID取出來,然後將結果傳遞給主查詢,如下所示:  DELETE FROM custo