二進位制日誌: 該日誌檔案會以二進位制形式記錄資料庫的各種操作,但是不記錄查詢語句。
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 用於處理二進位制日誌檔案的實用工具 要想從二進位制日誌恢復資料,你需要知道當前二進位制日誌檔案的路徑和檔名。一般...