🍖慢日誌管理

慢日誌

  • 執行時間 > 10
  • 未命中索引
  • 日誌文件路徑

配置

  • 內存
show variables like '%queries%';
set global [變量名] = [值]
  • 配置文件
mysqld --defaults-file='E:\wupeiqi\mysql-5.7.16-winx64\mysql-5.7.16-winx64\my-default.ini'
  • my.cnf 文件內容
slow_query_log = ON
slow_query_log_file = [日誌文件路徑]

ps : 修改完配置文件後須要重啓服務python

Mysql日誌管理

  • 錯誤日誌: 記錄 MySQL 服務器啓動、關閉及運行錯誤等信息
  • 二進制日誌: 又稱binlog日誌,以二進制文件的方式記錄數據庫中除SELECT 之外的操做
  • 查詢日誌: 記錄查詢的信息
  • 慢查詢日誌: 記錄執行時間超過指定時間的操做
  • 中繼日誌: 備庫將主庫的二進制日誌複製到本身的中繼日誌中,從而在本地進行重放
  • 通用日誌: 審計哪一個帳號、在哪一個時段、作了哪些事件
  • 事務日誌或稱redo日誌: 記錄Innodb事務相關的如事務執行時間、檢查點等

使用

1.bin-log

1. 啓用
# vim /etc/my.cnf
[mysqld]
log-bin[=dir\[filename]]
# service mysqld restart
2. 暫停
//僅當前會話
SET SQL_LOG_BIN=0;
SET SQL_LOG_BIN=1;
3. 查看
查看所有:
# mysqlbinlog mysql.000002
按時間:
# mysqlbinlog mysql.000002 --start-datetime="2012-12-05 10:02:56"
# mysqlbinlog mysql.000002 --stop-datetime="2012-12-05 11:02:54"
# mysqlbinlog mysql.000002 --start-datetime="2012-12-05 10:02:56" --stop-datetime="2012-12-05 11:02:54" 

按字節數:
# mysqlbinlog mysql.000002 --start-position=260
# mysqlbinlog mysql.000002 --stop-position=260
# mysqlbinlog mysql.000002 --start-position=260 --stop-position=930
4. 截斷bin-log(產生新的bin-log文件)
a. 重啓mysql服務器
b. # mysql -uroot -p123 -e 'flush logs'
5. 刪除bin-log文件
# mysql -uroot -p123 -e 'reset master'

2.查詢日誌

啓用通用查詢日誌
# vim /etc/my.cnf
[mysqld]
log[=dir\[filename]]
# service mysqld restart

3.慢查詢日誌

啓用慢查詢日誌
# vim /etc/my.cnf
[mysqld]
log-slow-queries[=dir\[filename]]
long_query_time=n
# service mysqld restart
MySQL 5.6:
slow-query-log=1
slow-query-log-file=slow.log
long_query_time=3
查看慢查詢日誌
測試:BENCHMARK(count,expr)
SELECT BENCHMARK(50000000,2*3);
相關文章
相關標籤/搜索