MySQL修改默认存储引擎的实现方法

所属分类: 数据库 / Mysql 阅读数: 1627
收藏 0 赞 0 分享

mysql存储引擎:

MySQL服务器采用了模块化风格,各部分之间保持相对独立,尤其体现在存储架构上。存储引擎负责管理数据存储,以及MySQL的索引管理。通过定义的API,MySQL服务器能够与存储引擎进行通信。目前使用最多的是MyISAM和InnoDB。InnoDB被Oracle收购后,MySQL自行开发的新存储引擎Falcon将在MySQL6.0版本引进。

MyISAM引擎是一种非事务性的引擎,提供高速存储和检索,以及全文搜索能力,适合数据仓库等查询频繁的应用。MyISAM中,一个table实际保存为三个文件,.frm存储表定义,.MYD存储数据,.MYI存储索引。

InnoDB则是一种支持事务的引擎。所以的数据存储在一个或者多个数据文件中,支持类似于Oracle的锁机制。一般在OLTP应用中使用较广泛。如果没有指定InnoDB配置选项,MySQL将在MySQL数据目录下创建一个名为ibdata1的自动扩展数据文件,以及两个名为ib_logfile0和ib_logfile1的日志文件。

创建table时可以通过engine关键字指定使用的存储引擎,如果省略则使用系统默认的存储引擎:CREATE TABLE t (i INT) ENGINE = MYISAM;

查看系统中支持的存储引擎类型:

mysql> show engines;| Engine | Support | Comment || MyISAM | YES | Default engine as of MySQL 3.23 with greatperformance | 

 | MEMORY | YES | Hash based, stored in memory, useful for temporarytables | 

 | InnoDB | DEFAULT | Supports transactions, row-level locking, andforeign keys | 

 | BerkeleyDB | NO | Supports transactions and page-level locking| 

 | BLACKHOLE | NO | /dev/null storage engine (anything you write toit disappears) | 

 | EXAMPLE | NO | Example storage engine | 

 | ARCHIVE | YES | Archive storage engine | 

 | CSV | NO | CSV storage engine | 

 | ndbcluster | NO | Clustered, fault-tolerant, memory-based tables| 

 | FEDERATED | NO | Federated MySQL storage engine | 

 | MRG_MYISAM | YES | Collection of identical MyISAM tables | 

 | ISAM | NO | Obsolete storage engine |12 rows in set (0.00 sec) 

标准安装程序中只提供部分引擎的支持,如果需要使用其他的存储引擎,需要使用源代码加不同的参数重新编译。其中DEFAULT表明系统的默认存储引擎,可以通过修改配置参数来变更:

default-storage-engine=MyISAM

查看某个存储引擎的具体信息

mysql> show engine InnoDB status\G;

一般安装系统默认是INNODB

default-storage-engine=INNODB

1.可以在启动数据库服务器时在命令行后面加上–default-storage-engine或–default-table-type选项。

2.更灵活的方式是在随MySQL服务器发布同时提供的MySQL客户端时指定使用的存储引擎。最直接的方式是在创建表时指定存储引擎的类型,向下面这样:

CREATE TABLE mytable (id int, titlechar(20)) ENGINE = INNODB

修改表的存储引擎:

ALTER TABLE engineTest ENGINE = INNODB;

修改默认存储引擎:

在mysql配置文件(linux下为/etc/my.cnf),在mysqld后面增加default-storage-engine=INNODB即可。

但是如果表建立的时候是MyISAM,要更改整个数据库表的存储引擎,一般要一个表一个表的修改,比较繁琐,可以采用先把数据库导出,得到SQL,把MyISAM修改成INNODB,再导入的方式。

以上这篇MySQL修改默认存储引擎的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

Mac 将mysql路径加入环境变量的方法

这篇文章主要介绍了Mac如何将mysql路径加入环境变量,有需要的朋友好按照下面的步骤操作即可
收藏 0 赞 0 分享

mysql 增加修改字段类型及删除字段类型

本节主要介绍了mysql如何增加修改字段类型及删除字段类型,需要的朋友可以参考下
收藏 0 赞 0 分享

Mysql主从复制(master-slave)实际操作案例

这篇文章主要介绍了Mysql主从复制(master-slave)实际操作案例,同时介绍了Mysql grant 用户授权的相关内容,需要的朋友可以参考下
收藏 0 赞 0 分享

MySQL异常处理浅析

这篇文章主要介绍了MySQL的异常处理,需要的朋友可以参考下
收藏 0 赞 0 分享

MySQL存储毫秒数据的方法

MySQL中没有可以直接存储毫秒数据的数据类型,但是不过MySQL却能识别时间中的毫秒部分。这篇文章主要介绍了MySQL存储毫秒数据的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

MySql中使用INSERT INTO语句更新多条数据的例子

这篇文章主要介绍了MySql中使用INSERT INTO语句更新多条数据的例子,MySQL的特有语法,需要的朋友可以参考下
收藏 0 赞 0 分享

Windows下MySql错误代码1045的解决方法

这篇文章主要介绍了Windows下MySql错误代码1045的解决方法,文中还包含了2个Linux下的解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

mysql查询今天、昨天、近7天、近30天、本月、上一月的SQL语句

这篇文章主要介绍了mysql查询今天、昨天、近7天、近30天、本月、上一月的SQL语句,一般在一些统计报表中比较常用这个时间段,需要的朋友可以参考下
收藏 0 赞 0 分享

mysql的中文数据按拼音排序的2个方法

这篇文章主要介绍了mysql的中文数据按拼音排序的2个方法,用于一些特殊环境,需要的朋友可以参考下
收藏 0 赞 0 分享

MySQL定期分析检查与优化表的方法小结

听DBA的人说,相比oracle,MySQL就是一个玩具级别的数据库,在网易门户中,DBA基本很少去管理到MySQL的东西,所以我们产品使用到的MySQL的一些配置和优化还是需要我们开发人员自己动手,下面就简单介绍一下实用的定期优化方法
收藏 0 赞 0 分享
查看更多