查看mysql的引擎类型

       网上有很多类似于《查看 MySQL 表使用的存储引擎》的文章,不过都不严谨。使用 “SHOW CREATE TABLE 表名”  查看。这种方式查出的结果在某些情况下是不准确的。

比如创建表 “test”

CREATE TABLE test (
id INT(11) defaultNULLauto_increment,
 s char(60) defaultNULL,
 PRIMARYKEY(id)
) ENGINE=InnoDB;
一般情况这样没任何问题。但是,如果MySQL服务器在配置中,未启用 InnoDB 存储引擎。在创建表 "test" 时,MySQL会自动选择默认的存储引擎 MyISAM 创建。



如何确认MySQL 服务器是否启用InnoDB 存储引擎?



<span><span style="margin-left:0px !important;">mysql> SHOW&nbsp; ENGINES;</span></span>



<span><span style="margin-left:0px !important;"><span style="background-color:#ffffff;">返回结果是:&nbsp;</span><span style="background-color:#ffffff;">"</span><span style="background-color:#ffffff;">InnoDB"&nbsp; 对应的&nbsp; "Support"等于“NO”&nbsp;,表示未启用&nbsp; InnoDB&nbsp; 存储引擎。</span></span></span>



<span><span style="margin-left:0px !important;"><span style="background-color:#ffffff;">如何查看mysql引擎类型:</span></span></span>



<span><span style="margin-left:0px !important;"><span style="background-color:#ffffff;"><strong>使用不准确的方式: </strong></span></span></span>



<span><span style="margin-left:0px !important;"><span style="background-color:#ffffff;">“SHOW CREATE TABLE 表名”&nbsp; 查看</span></span></span>



<span><span style="margin-left:0px !important;"><span style="background-color:#ffffff;"><strong>正确方式:</strong></span></span></span>
SHOW TABLE STATUS from  数据库库名  where Name='表名'; (方式一)
mysqlshow  -u 数据库登录帐号 -p '数据库登录帐号密码'   --status   数据库库名   表名 (方式二)
<strong>更改表的引擎类型:</strong>
创建时将表discuz.cdb_user的引擎设为innodb。
create table discuz.cdb_user engine = innodb;
也可以在创建表之后通过下面语句来变更:
alter table discuz.cdb_user engine =innodb; 
&nbsp;

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注