mysql 修改表的engine_MySQL查看和修改表的存储引擎

1 查看系统支持的存储引擎

show engines;

2 查看表使用的存储引擎

两种方法:

a、show table status from db_name where name='table_name';

b、show create table table_name;

如果显示的格式不好看,可以用\g代替行尾分号

有人说用第二种方法不准确(http://guaniuzhijia.blog.163.com/blog/static/16547206920114129953533/)

我试了下,关闭掉原先默认的Innodb引擎后根本无法执行show create table table_name指令,因为之前建的是Innodb表,关掉后默认用MyISAM引擎,导致Innodb表数据无法被正确读取。

3 修改表引擎方法

alter table table_name engine=innodb;

4 关闭Innodb引擎方法

关闭mysql服务: net stop mysql

找到mysql安装目录下的my.ini文件:

找到default-storage-engine=INNODB 改为default-storage-engine=MYISAM

找到#skip-innodb 改为skip-innodb

启动mysql服务:net start mysql

使用的默认数据库存储引擎是InnoDB,而使用InnoDB存储引擎的时候,是不生成.MYD 和.MYI文件的。

所以要生成.MYD 和.MYI文件,只需在建表的时候,显式地指定数据库存储引擎

MySQL原生版包含myisam、innodb(innobase,innodb-plugin)等等引擎,如果我们在my.cnf指定了默认存储引擎,那么我们创建库和表时都会使用默认的引擎,但是默认引擎有时并不能满足我们的需求,这时候可能就需要我们的sql脚本中加入创建表时要用的引擎了,例如:

一般情况下,mysql会默认提供多种存储引擎,你可以通过下面的查看:

看你的mysql现在已提供什么存储引擎:

mysql> show engines;

看你的mysql当前默认的存储引擎:

mysql> show variables like '%storage_engine%';

你要看某个表用了什么引擎(在显示结果里参数engine后面的就表示该表当前用的存储引擎):

mysql>show create table 表名;

create table discuz.cdb_user engine = innodb;

这样就可以将表discuz.cdb_user的引擎变更为innodb引擎了。也可以在创建表之后通过下面语句来变更:

alter table discuz.cdb_user engine =innodb;如果要查看表的类型可以使用:

show table status form discuz;

表示查看数据库discuz里所有表的信息,其中Engine:对应的列就是表所用的存储引擎如果要查看单个表的信息可以使用:

show create table discuz.cdb_user ;

在输出信息的最后可以看到engine=*****,此处就是表所用的存储引擎修改存储引擎,可以用命令Alter table tableName engine =engineName

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值