摘要: 系統環境 作業系統:centos 6.5 x64 (虛擬機器); web 服務:php+mysql+apache; **:為方便,直接在本地用蟬知系統搭建乙個演示站點; 操作步驟 1、開啟 binlog 功能及基本操作 要使用 mysql 的 binlog 日誌功能,首先要在 mysql 的配置檔案中開啟該功能,操作很簡單。
1、開啟 binlog 功能及基本操作
要使用 mysql 的 binlog 日誌功能,首先要在 mysql 的配置檔案中開啟該功能,操作很簡單。找到 mysql 的配置檔案,在檔案中新增一行log_bin = mysql-bin
即可。其實在我安裝的各種 mysql 環境中,該功能通常都是預設開啟的。
開啟 binlog 功能後,在 mysql 的資料庫目錄下就會有諸如mysql-bin.000001
、mysql-bin.000002
等檔案,這就是 mysql 的二進位制日誌檔案。每當 mysql 啟動或手動重新整理日誌後都會新建乙個二進位制日誌檔案。
首先我們 mysql 命令列中,用show master logs
命令檢視已有的 binlog 檔案。
2、往站點新增資料
在**後台文章模組裡,我新增了幾條測試資料。
3、重新整理 binlog 日誌
此前 mysql 的 binlog 檔案為mysql-bin.000001
,並且在**後台往資料庫中新增了三篇文章。現在我們重新整理 binlog 日誌,會生成新的mysql-bin.000002
檔案,如下:
flush logs
;
show master logs
;4、刪除資料
這裡我把剛才新增的三篇文章都刪除掉。
5、binlog 日誌內容解析
mysql 的二進位制日誌檔案記錄的 mysql 的操作,比如剛才的刪除操作,我們來看下日誌檔案的具體內容。
使用 mysql 的mysqlbinlog
命令:
mysqlbinlog
/data
/mysql
/mysql
-bin
.000002
注意:因為我本地mysqlbinlog
無法識別 binlog 配置中的default-character-set=utf8
,所以這裡我在命令中加上了–no-defaults
才起作用,大家引以為鑑。
下面是日誌內容部分截圖:
6、恢復指定資料
在通過 mysql 的 binlog 日誌恢復資料時,我們可以指定恢復到具體時間點,這有點像伺服器快照管理。所以我們現在要恢復剛才刪除的那篇文章,可以從刪除之前找乙個時間點,並恢復到那個時間點即可。
有關mysqlbinlog
命令的使用方法,我們可以通過mysqlbinlog
的幫助命令進行檢視,如下:
mysqlbinlog –no
-defaults
–help
如幫助文件所示,可以通過指定時間或指定位置來恢復資料,這裡我以指定時間為例給大家演示。
我們來檢視下日誌檔案mysql-bin.000001
,如下:
mysqlbinlog -no
--defaults
/data
/mysql
/mysql
-bin
.000001
通過前面操作步驟我們知道,在刪除資料之前,我們生成了mysql-bin.000002
日誌檔案,所以我們只要恢復到這個時間點即可,上圖中我已找到了這個時間。
命令如下:
mysqlbinlog –no
-defaults
–stop
-datetime
=』2017-04
-1109:
48:48』/
data
/mysql
/mysql
-bin
.000001
|mysql
–uroot
–p123456
這時我們在看後台,發現剛才刪除的三篇文章都已恢復回來了,從而到達我們期望的目的。
本文和大家分享了如何通過 mysql 的二進位制日誌檔案恢復資料。但還是要提醒大家,在平時要做好**資料備份,現在的一些主流 cms 建站系統都會內建資料庫備份功能,比如這裡我用的蟬知系統,資料是**的命脈,做好資料備份以避免後期不必要的麻煩或損失。
原文發布時間為:2017-04-17
mysql二進位制 MySql二進位制連線方式詳解
使用mysql二進位制方式連線 您可以使用mysql二進位制方式進入到mysql命令提示符下來連線mysql資料庫。例項以下是從命令列中連線mysql伺服器的簡單例項 root host mysql u root p enter password 在登入成功後會出現 mysql 命令提示視窗,你可以...
mysql二進位制恢復 mysql二進位制日誌恢復
二進位制日誌匯出 1.按時間節點匯出 no defaults 用來對mysql5.5之前mysqlbinlog命令報錯 mysqlbinlog no defaults start date 2017 08 08 15 04 04 stop date 2017 08 08 15 12 00 progr...
mysql二進位制方式 MySql二進位制連線方式詳解
使用mysql二進位制方式連線 您可以使用mysql二進位制方式進入到mysql命令提示符下來連線mysql資料庫。例項以下是從命令列中連線mysql伺服器的簡單例項 複製 如下 root host mysql u root p enter password 在登入成功後會出現 mysql 命令提示...