我要投稿 投訴建議

MySQL Server的二進制日志

時間:2021-04-13 14:05:55 日志日記 我要投稿

MySQL Server的二進制日志

  二進制日志,也就是我們常說的 binlog,也是 MySQL Server 中最為重要的日志之一。

 MySQL Server的二進制日志

  當我們通過“—log-bin[=file_name]”打開了記錄的功能之后,MySQL 會將所有修改數據 庫數據的 query 以二進制形式記錄到日志文件中。 當然, 日志中并不僅限于query 語句這么 簡單, 還包括每一條query 所執行的時間, 所消耗的資源, 以及相關的事務信息,bi所nl以og 是事務安全的。

  和錯誤日志一樣,binlog 記錄功能同樣需要“—log-bin[=file_name]”參數的顯式指 定才能開啟, 如果未指定file_name, 則會在數據目錄下記錄為mysql-bin.** (*代表0~ 9 之間的某一個數字,來表示該日志的序號)。

  binlog 還有其他一些附加選項參數:

  “—max_binlog_size”設置 binlog 的最大存儲上限,當日志達到該上限時,MySQL 會 重新創建一個日志開始繼續記錄。不過偶爾也有超出該設置的binlog的產生,一般都是因為 在即將達到上限時,產生了一個較大的事務,為了保證事務安全,MySQL 不會將同一個事務 分開記錄到兩個 binlog 中。

  “—binlog-do-db=db_name”參數明確告訴 MySQL,需要對某個(db_name)數據庫記 錄 binlog,如果有了“—binlog-do-db=db_name”參數的顯式指定,MySQL 會忽略針對其他 數據庫執行的 query,而僅僅記錄針對指定數據庫執行的`query。

  “—binlog-ignore-db=db_name”與“—binlog-do-db=db_name”完全相反, 它顯式指 定忽略某個(db_name)數據庫的binlog 記錄,當指定了這個參數之后,MySQL 會記錄指定 數據庫以外所有的數據庫的 binlog。

  “—binlog-ignore-db=db_name”與“—binlog-do-db=db_name”兩個參數有一個共同 的概念需要大家理解清楚,參數中的db_name 不是指 query 語句更新的數據所在的數據庫, 而是執行 query 的時候當前所處的數據庫。 不論更新哪個數據庫的數據,MySQL 僅僅比較當 前連接所處的數據庫(通過use db_name切換后所在的數據庫)與參數設置的數據庫名,而 不會分析 query 語句所更新數據所在的數據庫。

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

【 MySQL Server的二進制日志】相關文章:

MySQL中二進制與重做日志文件的基本概念講解06-23

MyQL Server的錯誤日志06-23

MySQL的通用查詢日志06-23

MySQL日志文件的概述06-23

關于關閉mysql日志的方法06-23

nginx多server日志分割腳本06-23

如何修改MySQL日志文件的位置06-23

MySQL日志實時查看執行語句以及更新日志的教程06-23

關于mysql清除log-bin的日志方法06-23

真人一级一级97一片a毛片√91,91精品丝袜无码人妻一区,亚国产成人精品久久久,亚洲色成人一区二区三区
亚洲日韩中文字幕在线6页 日韩精品一区二区三区在线观看视频 | 亚洲免费人成在线视频观看 | 日韩国产欧美另类综合 | 精品国产门事件在线观看 | 视频二区精品中文字幕 | 亚洲日韩国产麻豆 |