『壹』 mysql二進制日誌 恢復其中一個資料庫的數據
創建臨時資料庫,把備份導入進去進行 恢復單獨的資料庫 ,
mysqlbinlog 有一個 --databases 參數可內以指定容解析出指定db相關的sql ,你可以更加這個sql來恢復數據。
能不能建立多個二進制日誌文件,使每個資料庫對應自己的二進制日誌文件????
mysql 下 無此功能,mysqlbinlog 記錄的是整個mysql 實例的變化記錄,不能針對單獨的db 記錄日誌。
『貳』 如何使用mysql資料庫進行備份數據恢復
恢復整個資料庫首先,如果要恢復的資料庫是含有授權表的mysql資料庫,將需要使用--skip-grant-tables選項運行伺服器。否則,伺服器將抱怨無法找到授權表。在恢復表之後,執行mysqladmin flush-privileges 來告訴伺服器載入授權表,並用它們啟動。將原資料庫目錄的內容拷貝到其他的地方。例如,您可能會在稍後用它們進行崩潰表的事後分析檢查(post-mortem examination)。用最新的備份文件重新載入資料庫。如果您打算使用由mysqlmp 載入的文件,則需要將它們作為mysql的輸入。如果打算使用從資料庫中直接拷貝的文件(如,用tar 或c p),則將它們直接拷貝回到該資料庫目錄中。但是,在這種情況下,應該在拷貝這些文件之前關閉伺服器,然後再重新啟動它。用更新日誌重做在進行備份後又修改了資料庫表的查詢。對於所有可用的更新日誌,可使用它作為mysql的輸入。指定--one-database 選項,使mysql只對想要恢復的資料庫執行查詢。如果您知道需要使用所有的更新日誌文件,可在包含日誌的目錄中使用下列命令:% ls-t-r-l update.(0-9)* | xargs cat | mysql--one-database db_namels 命令產生更新日誌文件的單列列表,更新日誌文件根據伺服器生成的順序進行排序(要知道,如果您修改了其中的任何文件,排序的順序都將改變,這將導致更新日誌按錯誤的順序使用)。您很可能必須使用某些更新日誌。例如,如果自備份以來所產生的日誌命名為update.392、pdate.393 等等,可以重新運行它們中的命令:% mysql--one-database db_name < updata.392% mysql--one-database db_name < updata.393…如果正在運行恢復並打算使用更新日誌恢復由於失策的DROP DATA BASE、DROPTABLE或DELETE 語句而丟失的信息,應確保先從更新日誌中刪除這些語句。恢復單個的表恢復單個表是很困難的。如果有通過mysqlmp 生成的備份文件並且它恰好不包含您想要的表數據,則需要抽取相關的行並用它們作為mysql的輸入,這部分較容易。困難的是抽取應用於該表的更新日誌的片段。您會發現: mysql_find_rows 實用程序對這方面有幫助,它可以從更新日誌中抽取多行查詢。另一種可能性是用另一個伺服器恢復整個資料庫,然後將所要的該表的文件拷貝到原始資料庫中。這實際很容易!在將文件拷貝回資料庫目錄時,應確保原始資料庫的伺服器關閉。
『叄』 mysql 恢復資料庫
xxx.frm
xxx.MYD
xxx.MYI
如果有以上三個文件,則你可以在mysql中新建一個資料庫,它會生成同樣的三個文件,
然後你用你的備份文件覆蓋就OK
前提是版本一致
『肆』 怎麼備份和還原mysql資料庫
備份資料庫
使用mysqlmp命令備份資料庫
『伍』 怎麼恢復mysql資料庫
xxx.frm
xxx.MYD
xxx.MYI
如果有以上三個文件,則你可以在mysql中新建一個資料庫,它會生成同樣的三個文件,
然後你用你的備份文件覆蓋就OK
前提是版本一致
『陸』 mysql 某個資料庫被刪除怎麼恢復
mysql 某個資料庫被刪除怎麼恢復
1 找個別的機器安裝個同版本的mysql或從已安裝同版本的其他機內器上(非同版本的也可以容試下):
拷貝 mysql/data/mysql 目錄到你的mysql/data/ 下吧
2 試著啟動mysql服務,如果能啟動了,理論上應該丟失的只有用戶、授權等一些系統信息,不影響你的使用的數據;
如果不能啟動,看錯誤日誌,爭取啟動了。
3 趕緊把數據備份一份出來,重新把所有庫(只是你後來創建的業務相關的庫,不包括mysql庫)都刪了,重新導入一遍。理論上不這樣也可以,但只是非生產重要的環境下。
4 重新做用戶授權。