Mysql Binlog的介紹
binlog基本定義:二進位制日誌,也成為二進位制日誌,記錄對資料發生或潛在發生更改的SQL語句,並以二進位制的形式儲存在磁碟中;
作用:Mysql的作用類似於ORACLE的歸檔日誌,可以用來檢視資料庫的變更歷史(具體的時間點所有的SQL操作)、資料庫增量備份和恢復(增量備份和基於時間點的恢復)、Mysql的複製(主主資料庫的複製、主從資料庫的複製)
二進位制日誌的資訊:
檔案位置:預設存放位置為資料庫檔案所在目錄下
檔案的命名方式: 名稱為hostname-bin.xxxxx (重啟mysql一次將會自動生成一個新的binlog)
狀態的檢視:mysql> show variables like '%log_bin%';
mysql> show variables like '%log_bin%';
+---------------------------------+-------+
| Variable_name | Value |
+---------------------------------+-------+
| log_bin | ON | //表示當前已開啟二進位制日誌//
| log_bin_trust_function_creators | OFF |
| sql_log_bin | ON |
+---------------------------------+-------+
3 rows in set (0.00 sec)
二進位制日誌的管理:
1、開啟二進位制日誌配置
方法一、修改my.cnf引數檔案,該方法需要重啟
log-bin = mysql-bin #開啟日誌(主機需要開啟),這個mysql-bin也可以自定義,這裡也可以加上路徑,如:/home/www/mysql_bin_log/mysql-bin 關閉二進位制日誌的方法:log-bin = mysql-bin註釋掉即可 |
方法二、不重啟修改二進位制日誌配置,該方法mysql的版本需要5.6以上
SET @@global.log_bin=1|0 (1為開啟,0為關閉)
SET @@global.binlog_size=37268(單位bytes)
3、暫停二進位制日誌
SET sql_log_bin={0|1}
4、修改二進位制日誌的大小
修改my.cnf引數檔案中的max_binlog_size的值;
說明:如果你的二進位制檔案的大小超過了max_binlog_size,它就是自動建立新的二進位制檔案。當然如果恰好在日誌檔案到達它的最大尺寸時寫入了大的事務,那麼日誌檔案還是會超過max_binlog_size的大小
5、進行二進位制日誌的切換,預設情況下當二進位制日誌寫滿了或者資料庫重啟了才會進行切換,但是也可以手工的進行切換的動作
mysql> flush logs;
6、其他引數:
binlog-cache-size=100m 設定二進位制日誌快取大小
sync-binlog=N(每個N秒將快取中的二進位制日誌記錄寫回硬碟,預設值為0。不過,你經常會陷入group commit函式與I/O之間二選一的矛盾。如果在replication環境中,由於考慮到耐久性與一致性,則需要設定1。同時,還需要設定innodb_flush_log_at_trx_commit=1以及innodb-support-xa=1預設開啟;)
二進位制日誌的寫入過程
檢視二進位制日誌的內容:
binlog不能直接用文字的方式開啟,mysql提供了相應的檢視工具:mysqlbinlog,直接檢視單個二進位制日誌檔案:mysqlbinlog filename
例如: mysqlbinlog /data/mysql/mysql-bin.000001
當然也可以透過二進位制日誌完成資料庫的恢復,具體的使用將在資料庫的備份還原中介紹。
刪除二進位制日誌
二進位制日誌會不斷的增長,併產生多個檔案。因此,需要制定備份計劃和管理策略.無用的二進位制日誌要記得及時刪除。
刪除慢查詢日誌有三種方法:
1、作業系統命令直接刪除
2、reset master
3、PURGE BINARY LOGS BEFORE '2014-07-09 12:40:26′;
總結:二進位制日誌用途廣泛也很重要,大多少情況下會開啟,對於業務操作頻繁的資料庫需要制定相應的備份策略和刪除策略;
*********************************************************************************************************************本文作者:JOHN QQ:1916066696 (請備註資料庫)
ORACLE技術部落格:ORACLE 獵人筆記 http://blog.itpub.net/12679300/
請掃描加微訊號!
******************************************************************************************
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8494287/viewspace-1356138/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL Binlog 介紹MySql
- mysql binlog詳細介紹MySql
- MySQL Binlog 事件介紹篇MySql事件
- MySQL的binlog的格式及優缺點介紹MySql
- MySQL Binlog三種格式介紹及分析MySql
- MarriDB/MySQL的binlog group commit技術介紹MySqlMIT
- MySQL binlog三種格式的優缺點和修改方法介紹MySql
- MySql介紹MySql
- MySQL MVCC介紹MySqlMVC
- mysql MVCC 介紹MySqlMVC
- MySQL索引介紹MySql索引
- MySQL MHA介紹MySql
- LAMP架構介紹、MYSQL介紹、安裝LAMP架構MySql
- Mysql的binlog原理MySql
- mysql的binlog格式MySql
- mysql中SQL的概念介紹MySql
- LAMP架構(LAMP介紹,mysql/mariaDB介紹,Mysql安裝)LAMP架構MySql
- MySQL檢視介紹MySql
- MySQL 安裝介紹MySql
- MySQL分支版本介紹MySql
- MySQL group replication介紹MySql
- 【MySQL】mydumper工具介紹MySql
- 【Mysql】index extensions介紹MySqlIndex
- MySQL分割槽介紹MySql
- MySQL SQL模式介紹MySql模式
- MySQL 5.5 mysqlimport介紹MySqlImport
- Amoeba for MySQL 基本介紹MySql
- 【MySql】mysql的許可權體系介紹MySql
- 【MySql】mysql 的許可權體系介紹MySql
- MySQL 的日誌:binlogMySql
- MySQL的binlog日誌MySql
- mysql清理binlog的方法MySql
- MySQL 5.7許可權的介紹MySql
- MySQL 8.0 目錄介紹MySql
- MySQL 官方工具utilities介紹MySql
- MySQL角色(role)功能介紹MySql
- MySQL觸發器介紹MySql觸發器
- MySQL MRR和ICP介紹MySql