折騰過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 --Vevb.com
這里主要是看后面的可選參數,這個操作是備份的全部數據庫,如果本地數據庫較多,會很慢,當然導入的時候會更慢,我是為了省空間不得已為之,大家如果也有和我一樣的想法,使用本文的方案后果自負.
3,刪除ibdata1文件,導入時會自動建立的,其余數據庫不用管,因為導入時會先刪后建.
4,進入MYSQL命令行使用source命令進行導入.
最后,不管大家是否能執行成功,反正我是成功了.
新聞熱點
疑難解答