吸毒的虫子 发表于 2018-9-29 06:45:41

查看并修改mysql的默认引擎

  1、mysql存储引擎:
  a)mysql服务器采用了模块化风格,各部分之间保持相对独立,尤其体现在存储架构上。存储引擎负责管理数据存储,以及mysql的索引管理。通过定义的API,mysql服务器能够与存储引擎进行通信。目前使用最多的是MyISAM和InnoDB。InnoDB被Oracle收购后,mysql自行开发的新存储引擎Falcon将在mysql6.0版本引进。
  b)MyISAM引擎是一种非事务性的引擎,提供高速存储和检索,以及全文搜索能力,适合数据仓库等查询频繁的应用。MyISAM中,一个table实际保存为三个文件,“.frm存储表定义”,“.MYD存储数据”,“.MYI存储索引”。
  c)InnoDB则是一种支持事务的引擎。所以的数据存储在一个或者多个数据文件中,支持类似于Oracle的锁机制。一般在OLTP应用中使用较广泛。如果没有指定InnoDB配置选项,mysql将在mysql数据目录下创建一个名为ibdata1的自动扩展数据文件,以及两个名为ib_logfile0和ib_logfile1的日志文件。
  2、查看mysql的引擎类型:
  一般情况下,mysql会默认提供多种存储引擎,可以通过以下命令进行查看:
  a)查看mysql现在已提供什么存储引擎:
  mysql> show engines;
  b)查看mysql当前默认的存储引擎:
  mysql> show variables like '%storage_engine%';
  c)查看某个表用了什么引擎(在显示结果里参数engine后面的就表示该表当前用的存储引擎):
  mysql> show create table 表名;
  3、修改mysql的存储引擎:
  a)修改表的存储引擎:
  ALTER TABLE engineTest ENGINE = INNODB;
  b)修改默认存储引擎:
  在mysql配置文件(Linux下为/etc/my.cnf,如果自己定制安装的话,以实际配置文件位置为准),在mysqld后面增加default-storage-engine=INNODB即可。(调整完毕后,需要重启mysql服务)
  c)注意事项:如果表建立的时候是MyISAM,要更改整个数据库表的存储引擎,一般要一个表一个表的修改,比较繁琐。可以采用先把数据库导出,得到SQL,把MyISAM修改成INNODB,再导入的方式。

页: [1]
查看完整版本: 查看并修改mysql的默认引擎