MySQL 日誌

日誌簡介

MySQL日誌分爲四類:

  1. 二進制日誌
  2. 錯誤日誌
  3. 查詢日誌
  4. 慢查詢日誌
    默認情況下所有的日誌都是在MySQL目錄中,啓動日誌功能會降低MySQL的性能,比如,在查詢非常頻繁的數據庫中開啓了查詢日誌,和慢查詢日誌,MySQL數據庫會花費很多時間記錄日誌,日誌還會佔用大量空間

二進制日誌

二進制日誌主要是記錄MySQL數據庫的變化,,二進制包含了所有更新了數據或者潛在跟新了數據,二進制包含了每個更新數據庫語句的執行時間信息,但是不包含沒有修改任何數據的語句,二進制日誌的目的是最大可能的恢復數據庫

  1. 啓動二進制日誌
    修改配置文件如下圖,默認MySQL配置文件在 /etc/mysql/mysql.conf.d/mysql.conf windows的是 my.ini
    把log_bin 和 server-id 打開就行
    在這裏插入圖片描述
    expire_logs_days 清除過期日誌時間
    max_binlog_size 單個文件大小限制,,如果二進制日誌寫入的內容大小超過給定值,日誌就會回滾

  2. show variables like ‘log_%’
    查看日誌變量
    可以看到開啓成功了
    在這裏插入圖片描述

在這裏插入圖片描述
上圖中 mysql-bin.index 裏面是所有日誌文件的清單,
mysq-bin.000001 和 mysq-bin.000002 是 產生的日誌文件

刪除二進制日誌文件

  1. 使用 reset master
    刪除所有二進制文件,從000001開始編號
    在這裏插入圖片描述

  2. 使用 purge master logs to “binlog.000003”
    這條面命令將會刪除 編號03之前的日誌

  3. purge master logs before “20160130”
    將會刪除2016.1.30 日之前創建的日誌

show binary logs查看二進制日誌
在這裏插入圖片描述

使用二進制恢復數據庫

mysqlbinlog --stop-date=“2016-01-03”
將會把數據庫到2016.1.30 日之前的數據恢復

暫時停止二進制功能

  • 暫停
    set sql_log_bin = 0
  • 恢復
    set sql_log_bin = 1

錯誤日誌

錯誤日誌包含了MySQL啓動時和停止時的信息,還有MySQL在運行過程中出現的錯誤信息

查看錯誤日誌
在這裏插入圖片描述
在這裏插入圖片描述

通用查詢日誌

使用通用查詢日誌,在mysql.conf中添加log參數
log = path/file.name

慢查詢日誌

log-slow-queries
long_query_time

在這裏插入圖片描述

發佈了50 篇原創文章 · 獲贊 9 · 訪問量 3435
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章