MYSQL增量備份(日志備份)


MYSQL數據庫在使用過程中,一般都需要對使用的數據庫進行備份處理,對於數據量較小時可以通過mysqldump命令進行數據庫全備份,但是當數據庫數據量達到一定程度之后,顯然增量備份更加適合。

MYSQL增量備份主要通過二進制日志文件進行增量備份。mysql數據庫會以二進制形式自動把用戶對mysql數據庫的操作記錄到文件,當用戶希望恢復的時候可以使用備份文件進行恢復。

本文主要介紹如何實現在本地服務器上對遠程服務器的數據庫文件進行在本地服務器的備份。(以下的cmd均需跳轉到mysql的bin文件夾路徑下,eg:cd C:\Program Files\MySQL\MySQL Server 5.7\bin )

1、完全備份:在遠程服務器上進行數據庫全備份

cmd> mysqldump -u root -p test > test.sql   :輸入密碼 ,將會備份數據庫名為test的數據庫到mysqldump.exe所在的目錄的test.sql文件,test.sql可以直接寫磁盤的絕對路徑進行保存。

2、還原備份:在本地服務器上進行數據庫全還原

cmd> mysqldump -u root -p test < test.sql   :輸入密碼,test.sql為本地服務器上的拷貝回來的還原文件的絕對路徑,運行后實現對數據庫的還原。

3、打開二進制日志配置 :

在Windows系統下,對MYSQL的my.ini的log-bin等進行配置目錄位置時,假設要將log-bin的日志配置到E盤bak文件夾下的文件為binlog.log。則可以如下配置 :

# Binary Logging.
log-bin=E:/bak/logbin.log

開啟后確保路徑存在,然后重啟MYSQL服務就會在E:/bak目錄下多了2個文件 

logbin.index  這個是索引文件 有哪些增量備份
logbin.000001   存放用戶對數據庫操作的文件
 
4、日志還原:
之后對數據庫的增刪改都會在日志中寫入相應的記錄,此時將遠程服務器上的日志文件拷貝到本地服務器就可以進行增量備份的還原。
 
日志還原指令:
 
全部還原---------:mysqlbinlog e:/mysqldb/logbin.000001 | mysql -u root -p pdserver
 
按照時間還原-----: mysqlbinlog  --stop-datatime="2017-04-10 20:50:00" e:/mysqldb/logbin.000001
           上面這句的意思是 一直恢復到 2017-04-10 20:50:00  停止
按照位置來恢復----:mysqlbinlog  --stop-position="100" e:/mysqldb/logbin.000001  | 
                            上面這個語句意思是 恢復到100的位置
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM