首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 實時查看執行語句與日志管理:通用日志、慢查詢日志、更新日志配置全攻略

     編輯:MySQL 綜合教學

MySQL 實時查看執行語句與日志管理:通用日志、慢查詢日志、更新日志配置全攻略

通過配置 my.cnf 開啟各類日志,可實現類似 SQL Server Profiler 的實時 SQL 監控、慢查詢分析、審計追蹤。生產環境建議按需開啟,避免性能開銷。

開啟通用查詢日志與慢查詢日志

編輯 my.cnf([mysqld] 區塊):

log = /var/log/mysql/mylog.log              -- 記錄所有執行語句
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 1                         -- 超過 1 秒記錄
log_queries_not_using_indexes = 1           -- 記錄未用索引查詢

動態開啟(無需重啟):

SET GLOBAL log_slow_queries = ON;
SET GLOBAL slow_query_log = ON;
SET GLOBAL long_query_time = 0.1;

慢查詢日志格式示例:

# Time: 130905 14:15:59
# User@Host: root[root] @ [183.239.28.174]
# Query_time: 0.735883 Lock_time: 0.000078 Rows_sent: 262 Rows_examined: 262
SET timestamp=1378361759;
SHOW TABLES FROM `test_db`;

更新日志管理

強制切換新日志文件:

mysqladmin flush-logs
mysqladmin refresh
-- 或 SQL
FLUSH LOGS;

備份常規日志步驟:

cd mysql-data-directory
mv mysql.log mysql.old
mysqladmin flush-tables
# 備份 mysql.old 後刪除

注意:開啟全量日志會影響寫入性能,生產環境建議關閉或僅開啟慢查詢日志。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved