查看mysql的引擎类型

2012年5月16日 发表评论 阅读评论

       网上有很多类似于《查看 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 存储引擎?

mysql> SHOW  ENGINES;

返回结果是: "InnoDB"  对应的  "Support"等于“NO” ,表示未启用  InnoDB  存储引擎。

如何查看mysql引擎类型:

使用不准确的方式:

“SHOW CREATE TABLE 表名”  查看

正确方式:

SHOW TABLE STATUS from  数据库库名  where Name='表名'; (方式一)
mysqlshow  -u 数据库登录帐号 -p '数据库登录帐号密码'   --status   数据库库名   表名 (方式二)

更改表的引擎类型:

创建时将表discuz.cdb_user的引擎设为innodb。
create table discuz.cdb_user engine = innodb;
也可以在创建表之后通过下面语句来变更:
alter table discuz.cdb_user engine =innodb; 

 




本站的发展离不开您的资助,金额随意,欢迎来赏!

You can donate through PayPal.
My paypal id: itybku@139.com
Paypal page: https://www.paypal.me/361way

分类: 数据库 标签:
  1. 本文目前尚无任何评论.