innodb数据库批量转换表引擎为MyISAM

系统 2045 0
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] type='MYISAM'" ) or die ( mysql_error ( ) ) ;
}
#var_dump($result);
mysql_close ( $link ) ;
?>


 

 

MySQL 从 5.5 之后默认引擎是 InnoDB,InnoDB 比 MyISAM 要好不少,但是毕竟庞大臃肿,所以以前都是默认 MyISAM,软硬件资源日渐丰富之后,InnoDB 就被重视了。

如果是老的数据库,用的是 MyISAM 引擎,可以用顺利转换到 InnoDB 引擎。MySQL 提供了一个转换脚本(其实默认是用来给你往回转的 InnoDB –> MyISAM),可以在两种引擎中互换,用法很简单,具体可以自己看 help,这里举例一个刚刚转换过来的表:

注意事项:

1、MySQl 5.5 以后,mysql_convert_table_format 默认是将 InnoDB 转换成 MyISAM,如果要反过来转,用 –engine= INNODB 是不行的(莫名其妙就是不行),要直接修改 /usr/bin/mysql_convert_table_format 脚本,将里头 $opt_engine=”MYISAM”; 改成 $opt_engine=”INNODB”;  然后运行就可以了。

2、不要随便转换 MySQL 自己的数据库(mysql),这个数据库必须是 MyISAM 引擎的。

innodb数据库批量转换表引擎为MyISAM


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论