MysqL資料庫二進位制日誌

2021-10-01 18:04:38 字數 3184 閱讀 6023

二進位制日誌: 該日誌檔案會以二進位制形式記錄資料庫的各種操作,但是不記錄查詢語句。

mysql 的二進位制日誌 binlog 可以說是 mysql 最重要的日誌,它記錄了所有的 ddl 和 dml 語句(除了資料查詢語句select、show等),以事件形式記錄,還包含語句所執行的消耗的時間,mysql的二進位制日誌是事務安全型的。binlog 的主要目的是複製和恢復。

mysql的二進位制日誌(binary log)是乙個二進位制檔案,主要用於記錄修改資料或有可能引起資料變更的mysql語句。二進位制日誌(binary log)中記錄了對mysql資料庫執行更改的所有操作,並且記錄了語句發生時間、執行時長、運算元據等其它額外資訊,但是它不記錄select、show等那些不修改資料的sql語句。二進位制日誌(binary log)主要用於資料庫恢復和主從複製,以及審計(audit)操作。

環境準備

準備一台centos7伺服器

系統: centos7.3

記憶體:1g

cpu: 2核

# 安裝資料庫服務

yum -y install mariadb mariadb-server

# 啟動資料庫

systemctl start mariadb

# 編輯修改資料庫配置檔案

# 登陸至資料庫

顯示指定的二進位制日誌檔案(例如:mysqld.000003)的內容

# 建立兩個庫

create database wg charset=utf8;

create database szm charset=utf8;

use szm;

# 建立表

create table szm

(id int unsigned auto_increment primary key not null, name varchar(30

) not null )

;# 插入資料

insert szm values(0

,22);

# 查詢表中資料

# 進入到第二個庫裡面

use wg;

# 建立表

create table xxo

(id int unsigned auto_increment primary key not null, name varchar(30

) not null )

;# 插入資料

insert xxo values(0

,111

);

# 模擬資料庫被誤刪

drop database wg;

drop database szm;

1、通過位置還原

//從規定的起始位置還原到現在

//從最開始還原到規定的結束位置

mysqlbinlog --start-position=

555--stop-position=

1566

/var

/lib/mysql/mysql-bin.

000004

| mysql -uroot

2、通過時間還原

//從規定的起始時間還原到規定的結束時間

//從最開始還原到規定的結束時間

mysqlbinlog --start-datetime=

'2019-12-27 8:54:43' --stop-datetime=

'2019-12-27 9:40:29 ' /var/lib/mysql/mysql-bin.000004| mysql -uroot

資料庫二進位制日誌

二進位制日誌記錄三種格式 基於 語句 記錄 statement,記錄語句,預設模式 mariadb 10.2.3 版本以下 日誌量較少 基於 行 記錄 row,記錄資料,日誌量較大,更加安全,建議使用的格式 混合模式 mixed,讓系統自行判定該基於哪種方式進行,預設模式 mariadb 10.2....

mysql 資料庫二進位制日誌恢復

如果mysql伺服器啟用了二進位制日誌,你可以使用mysqlbinlog工具來恢復從指定的時間點開始 例如,從你最後一次備份 直到現在或另乙個指定的時間點的資料。mysqlbinlog 用於處理二進位制日誌檔案的實用工具 要想從二進位制日誌恢復資料,你需要知道當前二進位制日誌檔案的路徑和檔名。一般可...

mysql 二進位制日誌

如果mysql 伺服器啟用了二進位制日誌,你可以使用mysqlbinlog工具來恢復從指定的時間點開始 例如,從你最後一次備份 直到現在或另乙個指定的時間點的資料。mysqlbinlog 用於處理二進位制日誌檔案的實用工具 要想從二進位制日誌恢復資料,你需要知道當前二進位制日誌檔案的路徑和檔名。一般...