正常 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
就可以了