大致上MySqlDatabase Backup可以採用兩種方式:一種就是直接匯出sql語句或者易於匯入的其他格式的sql隱藏檔,使用sql語句或者一些可視化用戶端匯出,這種方法非常簡單,無需贅述;另一種方法就是拷貝出資料庫檔案,再將資料庫檔案轉換成sql檔案,這篇文章就介紹一下這種方法。
①尋找資料庫檔案存放位置,MySql檔案的尾碼有三種形式*.MYD、*.MYI、*.frm;
- find / -name *.MYD
650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/131228/2259325F4-0.png" border="0" alt="" />
②進入資料庫隱藏檔目錄;
- cd /opt/lanmp/mysql-5.1.63/win/data/
③使用copy命令把所有資料拷出去;
- copy mysql /home
④此時只需將這些資料庫檔案轉換成sql檔案,這也是這篇文章裡我要講的重點,如果需要的時候再將sql檔案用命令匯入即可;
⑤建立一個資料庫命名為mysqlbak,將剛才拷出來的檔案夾拷入新資料庫的data檔案夾;
650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/131228/225932LL-1.png" border="0" alt="" />
- find / -name mysqlbak
650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/131228/2259321329-2.png" border="0" alt="" />
- cd /home/mysql
- copy * /www/wdlinux/mysql-5.1.63/var/mysqlbak/
⑥此時就已經可以看到新資料庫mysqlbak裡的資料了,跟原資料庫mysql裡的資料是一樣的;
650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/131228/2259324935-3.png" border="0" alt="" />
650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/131228/225932B60-4.png" border="0" alt="" />
⑦使用命令匯出資料庫檔案即可。
- mysqldump -uroot -p mysqlbak > /home/mysql.sql
⑧這home檔案夾下的檔案mysql.sql檔案就是易匯入的資料庫檔案。需要注意的是所有的操作都必須在作業系統下用命令完成,而不提倡使用工具。因為在實際操作過程中,我們經常會遇到資料庫裡的資料庫檔案版本和資料庫版本不一致,或者新舊資料庫版本不一致的問題,再或者資料服務器版本與用戶端工具不相容等意想不到的問題,如果是這種情況,使用工具匯出一般會報“1577:Cannot proceed because system tables used by Event Scheduler were found damaged at server start”的錯誤。說到這裡,其實本文也提供了一種開啟mysql資料庫檔案的方法,如果現在只有一堆*.MYD、*.MYI、*.frm檔案,執行步驟⑤到步驟⑧即可。
本文出自 “虹貓仗劍走天涯” 部落格,謝絕轉載!