萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> Drupal的MySQL InnoDB數據庫備份與還原實例教程

Drupal的MySQL InnoDB數據庫備份與還原實例教程

折騰過MySql數據庫的同學都知道,MyISAM類型的Mysql備份和管理比較方便,現在我們來分享一下InnoDB類型的Mysql數據庫如何備份和還原

首先,為什麼要這麼做呢,因為我工作於一個大型drupal項目,數據庫文件很大,而且每個新特性都在分支上進行開發,這樣意味著我需要搭建多個本地環境,並且經常需要刪除舊的分支,建立新的分支。

由於數據庫使用的大部分是InnoDB引擎,而InnoDB在分配了空間以後是不釋放,也不可以被重用的(這裡可能是我還沒找對方法),所以由於我這樣頻繁的建立和刪除數據庫導致了InnoDB的數據庫文件越來越大。所以決定給數據庫文件瘦身。

InnoDB的數據庫文件默認是公用ibdata1,在我本地已經達到17G之多,並且還在不斷變大。

以下是瘦身步驟,注意瘦身之前對原始的ibdata1文件做好備份。

1,在命令行或者PHPMyAdmin裡刪除不需要的數據庫。

2,備份所有的數據庫:

mysqldump -uDBuser -pPassword --quick --force --routines --add-drop-database --all-databases --add-drop-table > /your_backup_place/mysqldump.sql

這裡主要是看後面的可選參數,這個操作是備份的全部數據庫,如果本地數據庫較多,會很慢。當然導入的時候會更慢,我是為了省空間不得已為之,大家如果也有和我一樣的想法,使用本文的方案後果自負。

3,刪除ibdata1文件,導入時會自動建立的。其余數據庫不用管,因為導入時會先刪後建。

4,進入MYSQL命令行使用source命令進行導入。

最後,不管大家是否能執行成功,反正我是成功了。:)

copyright © 萬盛學電腦網 all rights reserved