MySQL的五種日誌

這些日誌的配置可在mysqld.conf中獲取,以下:mysql

c80k2@c80k2-Vostro-3667❯/etc/mysql/mysql.conf.d$ vim mysqld.cnf

1.error錯誤日誌: 記錄啓動、運行或中止mysqld時出現的問題sql

# Error log - should be very few entries.
#
# log_error = /var/log/mysql/error.log

2.查詢日誌: 記錄創建的客戶端鏈接和執行的全部語句(包括錯誤的)。
        log=d:/mysql_log.txt
3.  binlog二進制日誌: 記錄全部更改數據的語句、還用於主從複製shell

# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
#       other settings you may need to change.
server-id               = 1
log_bin                 = /var/log/mysql/mysql-bin.log
expire_logs_days        = 10
max_binlog_size   = 100M
#binlog_do_db           = include_database_name
#binlog_ignore_db       = include_database_name

此項設置能夠用來很容易地回滾備份日誌以及用來數據庫備份。注意: 若是你正在設置一個備份從庫,參看README.Debian來查看其餘你可能改變的設置。數據庫

注:log-update 更新日誌已經被 log-bin 取代了,若是定義了會致使服務不可啓動vim

4.慢日誌: 記錄全部執行時間超過long_query_time秒的全部查詢bash

# Here you can see queries with especially long duration
#log_slow_queries       = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes

這裏你能夠看到耗時特別長的語句,單位爲秒。性能


5. 通用日誌: 會將全部到達MySQL Server的SQL語句記錄下來。通常不會開啓開功能,由於log的量會很是龐大。但個別狀況下可能會臨時的開一下子general log以供排障使用。開啓方法:this

a, 在mysqld.conf配置文件中進行配置,以下:spa

# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file        = /var/log/mysql/mysql.log
#general_log             = 1

注意這裏的註釋部分: 請注意這個日誌類型是性能殺手,從5.1版本開始你能夠在mysql正在執行的過程當中開啓這個日誌,也就是說能夠直接啓動就應用,而不須要從新啓動mysql,實現了熱啓動。日誌

b, 經過mysql語句開啓,以下:

mysql>set global general_log_file='/tmp/general.lg';    #設置路徑
mysql>set global general_log=on;    # 開啓general log模式
mysql>set global general_log=off;   # 關閉general log模式

# 設置general log保存路徑 
# 注意在Linux中,此日誌路徑只能設置到 /tmp 或 /var 文件夾下,設置其餘路徑出錯 
# 須要root用戶纔有訪問此文件的權限

c, 將日誌記錄在表中

shell代碼

mysql>set global log_output='table'

運行後, 能夠在mysql數據庫下查找 general_log表

相關文章
相關標籤/搜索