程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql實現增量備份

mysql實現增量備份

編輯:MySQL綜合教程

    有點要注意 如果你誤刪了表 想通過這個恢復 必須恢復日志裡面有創建表的日志 不然的話是無法回復的  就是必須是從你開始創建表的時候就已經記錄日志了    恢復到哪個位置 就按照哪個位置來計算   mysql  5.0不支持增量備份   增量備份定義       mysql數據庫會以二進制形式 自動把用戶對mysql數據庫的操作 記錄到文件 當用戶希望恢復的時候可以使用備份文件 進行回復       增量備份會記錄 (dml 語句 建表語句 不會記錄select語句)     記錄的 (a 操作語句本身 b 操作的時間  c 操作的位置 position)   實例     配置 my.ini文件 或者 my.conf 啟用二進制備份    log-bin=e:/mysqldb/logbin.log    先設置mysql日志存放位置       配置好後 再啟動模樣上去了 就會在備份目錄多了2個文件      logbin.index  這個是索引文件 有哪些增量備份     logbin.000001   存放用戶對數據庫操作的文件       如果你想看看 這個 裡面是什麼東西 我們可以使用 mysql的bin目錄下面的一個工具查看      就是 mysqlbinlog.exe  這個東西看           首先用cmd進入 mysql的 bin目錄下面 然後執行     mysqlbinlog e:/mysqldb/logbin.000001      mysql 對於你的每一次操作 都會記錄一次時間 同時 給你分配一個位置 (pos) 換句話說 以後我們恢復 可以根據時間點來恢復 或者根據位置來恢復   比如說 我們把一個表個drop 了 那麼我們只要把表恢復到 drop之前就好了    時間點恢復     我們可以畫個流程圖     logbin.000001     insert ......   3       2013-07-23 17:57:00     update .....   4    2013-07-23 17:59:00      insert ......   100       2013-07-23 19:57:00     drop  ...        101    2013-07-23 20:57:00          恢復的話可以這麼寫     mysqlbinlog  --stop-datatime="2013-07-23 20:50:00" e:/mysqldb/logbin.000001     上面這句的意思是 一直恢復到 2013-07-23 20:50:00  停止      mysqlbinlog  --start-datatime="2013-07-23 20:50:00" e:/mysqldb/logbin.000001     上面這句的意思是 從2013-07-23 20:50:00  開始恢復   按照位置來恢復         mysqlbinlog  --stop-position="100" e:/mysqldb/logbin.000001  |          上面這個語句意思是 恢復到100的位置   真實性恢復 按照位置恢復 mysqlbinlog  --stop-position=4590 e:/mysqldb/logbin.000001  | mysql -uroot -p 按照時間恢復 mysqlbinlog  --stop-datetime="2013-07-24 18:17:19" e:/mysqldb/logbin.000001  | mysql -uroot -p   可以控制從什麼時候開始 到什麼是結束 mysqlbinlog --start-position=4 --stop-position=106 yueliangd ao_binglog.000001 > c:\\test1.txt     在工作中 可以每周一做一個全備份 就是 mysqldump   然後 啟用我們的增量備份 把過期時間設為 大於等於7天 如果數據庫崩潰了 就可以通過時間和位置來恢復  
  如何關閉 mysql 自動記錄日志 找到log-bin=mysql-bin,前面添加#即可。 個別版本需要關閉 binlog_format=mixed前面添加#,否則會出現mysql無法啟動。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved