正常 data目錄下的資料庫檔案隻要表結構檔案frm檔案...甚是不解 鑽研過後知道
mysql的預設資料庫引擎模式呗設定成了InnoDB
innodb表沒有沒有MYD和.MYI,其資料檔案對應于ibdata1檔案中
要讓.myd和.myi的資料庫檔案也出現,則轉換表類型innodb為myisam.
解決方法:
Sql中InnoDB類型轉換為MyISAM指令
ALTER TABLE 表名 engine= MyISAM;
連編碼一起轉
ALTER TABLE 表名 engine=MyISAM CHARACTER SET utf8;
下面提供一個資料庫批量轉換PHP代碼
一個php腳本,沒有錯誤檢查,謹慎使用,最好使用前先備份!
,儲存成zhuanhuan.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <?php //連接配接資料庫 $host='localhost'; $user='mysql_username'; //管理賬戶 $passwd='mysql_password'; //密碼 $db='wordpressdb'; //資料庫名稱 $link= mysql_connect($host,$user,$passwd); if (!$link) { die('Could not connect: '.mysql_error() ); } mysql_select_db( $db,$link ) or die ('can\'t use'. $db . mysql_error()); $result=mysql_query("show tables ") or die( mysql_error()); while($row=mysql_fetch_row($result)){ #echo $row[0]; #var_dump($row); echo "$row[0] \n"; mysql_query("alter table $row[0] engine='MYISAM'") or die (mysql_error()); #var_dump($result); mysql_close($link); ?> |