正常 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
就可以了
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
