正常 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);
?>
|
上傳到網站根目錄....訪問即可完成批量轉換http://www.skyfox.org/zhuanhuan.php
-----------------------------------------------------------------
在建表的時候可以指定引擎,也可以指定默認的引擎
在linux my.cnf 中window下的 my.ini 找到
default-storage-engine,如果有
沒有就直接加入
default-storage-engine=MYISAM
就可以了
