mysql采用MYISAM引擎的數(shù)據(jù)表A,會有如下文件:
A.frm【存儲表定義,表字段等等】
A.MYD【存儲數(shù)據(jù)】
A.MYI【存儲索引】
mysql采用InnoDB引擎的數(shù)據(jù)表B,會有如下文件:
B.frm文件
B.ibd 或 .ibdata
idb或.ibdata這兩種文件都是存放innodb數(shù)據(jù)的文件
獨享表空間存儲方式使用.ibd文件,并且每個表一個ibd文件
共享表空間存儲方式使用.ibdata文件,所有表共同使用一個ibdata文件(所有表是指這個服務(wù)器上所有庫的所有使用INNODB引擎的表)
從這個2中引擎的文件方式中就可以看出,如果用戶數(shù)據(jù)庫出現(xiàn)問題,我們采用直接拷貝表文件的方式去操作數(shù)據(jù)庫,前提必須是這些表都采用MYISAM引擎。
查看MySQL是否支持InnoDB引擎以及不支持的解決辦法
通過命令行進(jìn)入mysql或者是通過phpmyadmin進(jìn)行操作,執(zhí)行如下命令:
SHOW variables like "have_%"
顯示結(jié)果中會有如下3種可能的結(jié)果:
have_innodb YES 已經(jīng)開啟InnoDB引擎
have_innodb NO 未安裝InnoDB引擎
have_innodb DISABLED 未啟用InnoDB引擎
針對第二種未安裝,只需要安裝即可;針對第三種未啟用,則打開mysql配置文件,找到 skip-innodb項,將其改成#skip-innodb,之后重啟mysql服務(wù)即可。