虛擬機器主機MySQL資料庫的備份與還原的方法

來源:互聯網
上載者:User

以前介紹過一個小巧的MYSQL備份PHP指令碼程式,不過那適合沒有MySQL Shell許可權的虛擬機器主機使用者,這裡想講一下更為通用的備份與還原方法,適合有自己主機的朋友。

1、關於備份:我們在使用MySQL中一般都用MyISAM類型的表,這種表是以檔案形式儲存的檔案系統中的;而HEAP類型的表是儲存在記憶體中的,下面的方法是針對MyISAM表的。

1.1、直接拷貝資料庫檔案。首先不推薦使用這種方法,因為拷貝的資料表是針對特定作業系統(硬體環境)的,移到其他系統中有可能會出問題。其次備份時候要停止MYSQL伺服器或者鎖定相應的表,否則如果拷貝過程中正好在插入/改寫資料庫就掛了,不適合需要不間斷的伺服器。這種方法最大好處是方便快捷,備份時候只要拷貝MYSQL資料目錄相應資料庫檔案夾中的所有檔案即可,其中*.frm是描述了表的結構,*.MYD儲存了表的資料記錄,*.MYI則是表的索引。

1.2、使用MySQLDump工具:利用這個程式可以把資料庫匯出成SQL語句形式的文字檔,方便移動到不同系統,還原時候會一條條執行檔案中的SQL語句即可重建資料庫。實際使用時在WINDOWS下CMD裡或者LinuxShell輸入命令:
mysqldump -u user_name -p database_name --option > path:/xxx.sql;斷行符號
;user_name是使用者名稱
;database_name 是資料庫名
;path:/xxx.sql 是儲存備份檔案的路徑與檔案名稱

然後輸入密碼就會匯出資料庫到指定PATH下的.sql檔案了,要保證使用者有足夠許可權訪問相應資料庫。--option是備份時可以指定的一些參數,可以參考MYSQL官方文檔,常用幾個選項:
--opt ——一組常用預設選項,包括--add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick --set-charset
--add-drop-table ——在建立表時候先DROP舊錶,適合覆蓋資料庫
--where——按照條件備份部分記錄,例如:--where="id<1000'"
mysqldump工具的參數功能相當多,還需要好好研究下~

2、關於還原
2.1、對於直接拷貝資料庫檔案的方法,把相應檔案覆蓋回資料目錄即可還原。
2.2、對於DUMP出來的.SQL檔案,可以在MYSQL命令列中輸入:
use target_database;選擇要還原的資料庫,最好建立一個空的
\. path:/xxx.sql;將指定的備份檔案還原到當前資料庫

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.