MySQL Binlog的介紹

來源:互聯網
上載者:User

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′;

總結:二進位日誌用途廣泛也很重要,大多少情況下會開啟,對於業務操作頻繁的資料庫需要制定相應的備份策略和刪除策略; 

MySQL資料恢複--binlog 

MySQL中binlog日記清理

如何安全刪除MySQL下的binlog日誌

MySQL--binlog日誌恢複資料

MySQL刪除binlog日誌及日誌恢複資料的方法

MySQL binlog三種格式介紹及分析

MySQL 利用binlog增量備份+還原執行個體

MySQL刪除binlog日誌及日誌恢複資料

本文永久更新連結地址:

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.