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