wordpress用了一段時間,很多朋友都擔心自己數據庫會被損壞或者在更換虛擬主機的時候想要自己備份數據庫。到數據庫文件夾下面去查看發現只有.frm的文件,沒有.myd和.myi文件,因此無法直接備份數據庫,而且發現數據庫所在文件夾非常小,整個文件夾只有幾百K,但是通過phpMyAdmin查看各個數據表大小又是正常的,在網上搜了一陣終于搞清楚到底是怎么回事了。
原來wordpress在安裝建立數據表的時候有兩種類型,1個是innoDB另1種是MyISAM,默認好像是innoDB。
1、innodb格式數據庫如果要直接備份,除了要備份數據庫文件夾外,還需要備份data目錄下的ibdata1文件,實際上所有的數據是存放在ibdata1文件下的。如果需要直接覆蓋數據庫恢復,需要同時將數據庫文件和ibdata1文件同時覆蓋才能正?;謴?。
2、有的虛擬主機用戶希望能將innoDB格式的數據庫轉換成MyISAM,便于直接備份或恢復數據庫(因為ibdata1是在data目錄下,一般虛擬主機用戶都無法直接拷貝這個文件),其實可以通過一個SQL語句,將數據庫由innoDB轉換為MyISAM,以方便虛擬主機用戶直接備份數據庫,通過下面這個語句轉換數據庫中所有表:
這樣在數據庫文件夾下就會生成.myd和.myi的數據文件和索引文件,這樣就可以直接備份數據庫文件了。
3、至于innoDB和MyISAM兩種數據格式哪種更好,網上有相關文章,大家可以搜一下,其實小型網站數據庫如果不大查詢量也不大的話,MyISAM是足夠的,但如果是數據量大查詢量大的網站,建議還是innoDB格式。
PS:網上還有1個插件WP-DB-BACKUP,這個插件可以對兩種格式的數據備份成.sql文件格式,可以指定備份到服務器備份,可以備份定期發送到郵箱。 WP-DB-BACKUP下載地址:http://wordpress.org/extend/plugins/wp-db-backup/