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_log
和general_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