Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1734117
  • 博文数量: 636
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 3950
  • 用 户 组: 普通用户
  • 注册时间: 2014-08-06 21:58
个人简介

博客是我工作的好帮手,遇到困难就来博客找资料

文章分类

全部博文(636)

文章存档

2024年(5)

2022年(2)

2021年(4)

2020年(40)

2019年(4)

2018年(78)

2017年(213)

2016年(41)

2015年(183)

2014年(66)

我的朋友

分类: 服务器与存储

2014-11-25 17:57:07

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

阅读(1538) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~