Mysql 日誌文件類型

来源:http://www.cnblogs.com/wangxiaoqiangs/archive/2016/04/12/5383510.html
-Advertisement-
Play Games

簡介: Mysql 中提供了多種類型的日誌文件,分別反映 Mysql 的不同信息,瞭解它們很有必要。 1、Error log ( 錯誤日誌 ) 錯誤日誌記錄了 Mysql Server 運行過程中所有較為嚴重的警告和錯誤信息,以及 Mysql Server 每次啟動和關閉的詳細信息。 在預設情況下, ...



簡介:

Mysql 中提供了多種類型的日誌文件,分別反映 Mysql 的不同信息,瞭解它們很有必要。

1、Error log ( 錯誤日誌 )

錯誤日誌記錄了 Mysql Server 運行過程中所有較為嚴重的警告和錯誤信息,以及 Mysql Server 每次啟動和關閉的詳細信息。

在預設情況下,系統記錄錯誤日誌的功能是關閉的( 我所使用的 Mysql 5.6 是開啟的 ),錯誤信息被輸出到標準錯誤輸出( Stderr )。

需要開啟系統記錄錯誤日誌功能時,需要在啟動時開啟 -log-error 選項。錯誤日誌預設存放在數據目錄下,以 hostname.err 命令。

可以使用 --log-error=file_name 的方式或在 my.cnf 中指定其存放的位置和文件名。

為了方便維護,可以通過 flush logs 來生成新的日誌文件( 要先將原有的日誌文件 mv 一下 )。

2、Binary log( 二進位日誌 )

二進位日誌,即 binlog 。也是 Mysql Server 中最為重要的日誌之一。

當我們通過 --log-bin=file_name 打開了二進位日誌功能之後,Mysql 會將所有修改資料庫的 query 以二進位的形式記錄到日誌文件中。

還包括每一條 query 所執行的時間、消耗的資源,以及相關的事務信息;所以 binlog 是事務安全的。

二進位日誌跟錯誤日誌一樣,binlog 記錄功能也需要 --log-bin=file_name 或 my.cnf 中指定來開啟;如果沒有指定 file_name ,會在數據目錄下生成 mysql-bin.******* 的日誌文件。

mysql-bin.index 文件的功能是記錄所有 Binary log 的絕對路徑,保證 Mysql 各種線程能順利根據它找到所需要的 Binary log 文件。

binlog 相關的其它參數:

--max_binlog_size ## 設置 binlog 的最大存儲上限,當日誌達到該上限時,Mysql 會重新生成一個新的日誌開始繼續記錄。
偶爾也會超出該上限,是因為在即將到達上限時,產生了一個較大的事務,為了保證事務安全,Mysql 不會將同一個事務存放到兩個 binlog 中。

--binlog-do-db=db_name ## 僅僅針對該 db_name 記錄 binlog ,而忽略針對其餘資料庫執行的 query 。

--binlog-ignore-db=db_name ## 與上一參數正好相反,忽略針對該資料庫的 query ,記錄其餘所有資料庫的 binlog 。

## 這兩參數指的 db_name 不是指 query 語句更新的數據所在的資料庫,而是執行 query 時所處的資料庫。( 感覺很好理解,說多了容易亂 )

3、Update log( 更新日誌 )

更新日誌是 Mysql 在較老版本上使用的,其功能跟 binlog 類似,只不過不是以二進位格式記錄,而是以簡單文本格式記錄內容。

從 Mysql 5.0 開始,Mysql 已經不再支持更新日誌了。

4、Query log( 查詢日誌 )

查詢日誌記錄 Mysql 中所有的 query ,通過 --log=file_name 來打開該功能。

由於該日誌記錄了所有的 query ,包括所有的 select ,體積比較大,開啟後會對性能有較大的影響,所以一般不開啟。

該日誌一般用於跟蹤某些特殊的 SQL 性能問題才會短暫開啟。預設文件名為 hostname.log ,位置也在數據目錄下。

5、Slow query log ( 慢查詢日誌 )

慢查詢日誌記錄的就是執行時間較長的 query 咯,即 Slow query 。

通過 --log-slow-queries=file_name 開打開此功能並設置文件位置和文件名,預設文件名為 hostname-slow.log ,位置同樣在數據目錄下。

慢查詢日誌採用的是簡單文本格式,可以通過各種文本編輯器查看其中的內容。

記錄了語句執行的時刻,所消耗的時間、執行的用戶、連接主機等相關信息。

Mysql 還提供了用於專門分析慢查詢日誌的工具 Mysqlslowdump ,用來幫助我們瞭解可能存在的性能問題。

6、Innodb redo log ( Innodb 的線上 redo 日誌 )

Innodb 是一個事務安全的存儲引擎,其事務安全性主要就是通過線上 redo 日誌和記錄在表空間中的 undo 信息來保證的。

redo 日誌中記錄了 Innodb 所做的所有物理變更和事務信息,通過 redo 日誌和 undo 信息,Innodb 保證了在任何情況下的事務安全性。

Innodb 的 redo 日誌同樣預設在數據目錄下,可以通過 innodb_log_group_home_dir 來更改其存放位置,通過 innodb_log_files_in_group 設置日誌數量。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 技巧1: 我們可以發現id只能在內部使用,不會污染全局,這是傳統的閉包寫法。我們修改一下寫法 修改後的寫法使得外部能夠使用內部定義的id,而內部的id不會污染外部環境。 技巧2: 當字元串不會因為大小寫受影響時,推薦統一轉換為小寫或者大寫後進行使用。這樣就不會受到大小寫的影響。例如: 這樣不管元素名 ...
  • 第一次做移動端的頁面,遇到的第一個問題就是移動端的輪播圖。其實輪播圖的插件有很多,但是完全滿足需求的並不容易找。 需求: 1.實現基本的觸屏輪播圖效果 2.傳入非標準比例的圖片,可以自動平鋪(有時候圖片可能比例略有偏差,當然例子里的圖是隨便找的,平鋪之後不能看呀) 3.輪播圖模塊能實現自適應,按照固 ...
  • 實例:ORACLE到ORACLE的數據傳遞 編寫job.xml文件,添加變數參數 執行datax.py文件時記得帶參數 格式:./datax.py –p"-Ddbname=*** -Dip=***" job.xml 實現指定的列名數據傳遞 修改reader裡面的colums和writer裡面的col... ...
  • 這篇隨筆用來記錄資料庫的學習,隨時更新補充,主要寫一些比較少關註的內容 PERSISTED: 說明物理存儲計算列的值(書本上的解釋,什麼鬼意思...) 現實操作中,CHECK、FOREIGN KEY 和 NOT NULL 約束要求計算列是持久化(PERSISTED)的。 大概它的作用就是這個吧? A ...
  • 最近項目用到了對oracle大欄位的讀寫,小白在這裡記錄下,方便自己以後用到,也希望對其他朋友有一點幫助。 由於項目的原因,這裡的blob只是對xml報文的讀寫,並沒有涉及到保存圖片等,因此下麵涉及的方法可能不全面,如有需要請自行查看其它大神博客。 一、讀blob 這裡對blob的讀是直接在資料庫建 ...
  • 修改用戶密碼 刷新系統許可權 ...
  • 1、從資料庫中檢索出的數據往往並不是最後要展示的格式,可以在資料庫端或者客戶端應用程式中完成轉換和格式化,但一般說來,在資料庫伺服器中完成要快很多。 2、拼接欄位:將幾個值連接到一起構成單個值。Oracel使用“||”連接,不支持“+”。例如: (1)別名:在欄位名後面加上“ AS 新列名”,重新賦 ...
  • 我們的項目用到了spring框架和mongdb資料庫,隨著mongodb升級到3.0已有半年時間,我們也開始隨之升級,但是3.0的用戶驗證有所更改,導致原來的很多配置無法再用。 經過幾天的嘗試後,終於成功的用spring配置驗證。 升級用了兩個新的jar包,分別是pring-data-mongodb ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...