MySQL數據庫新加了幾個表,結果只有frm文件存在,如果直接復制到別的電腦,這幾個表是提示錯誤的,為什麼呢?查了下資料:frm、MYI、MYD分別對應MyISAM表的表結構\索引\數據文件。
我遇到的情況跟表引擎類型有關,我是用innodb,結果出現了這樣的情形,MySQL的默認DB引擎是innodb的時候,innodb表沒有沒有myd和.myi,其數據文件對應於ibdata1
解決辦法,更改表引擎為MYISAM,網上有個命令行方式:
估計你確是是innodb引擎進入你的MySQL數據庫(不管你是用PHPmyadmin還是MySQL命令行)
MySQL> use 數據庫名
MySQL>show tables;
MySQL>show table status like 數據庫表名
如果type=innodb的話
你就可以轉換表引擎了 MySQL>alter table 數據庫表名 type='MYISAM' 如果你的數據庫中的表引擎本來就是myisam了,那你需要確認下你的數據目錄到底在哪裡
MySQL>show variables like 'datadir%'; 也可以使用PHPmyadmin,選中表,操作,表選項,Storage Engine改成MYISAM 執行 就ok了