阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MySQL学习笔记—插件式存储引擎

104次阅读
没有评论

共计 1855 个字符,预计需要花费 5 分钟才能阅读完成。

MySQL 学习笔记—插件式存储引擎


在 MySQL 5.1 中,MySQL AB 引入了新的插件式存储引擎体系结构,允许将存储引擎加载到正在运行的 MySQL 服务器中。

使用 MySQL 插件式存储引擎体系结构,允许数据库用户为特定的应用需求选择专门的存储引擎,完全不需要管理任何特殊的应用编码要求。采用 MySQL 服务器体系结构,由于在存储级别上提供了一致和简单的应用模型和 API,应用程序编程人员和 DBA 可不再考虑所有的底层实施细节。因此,尽管不同的存储引擎具有不同的能力,应用程序是与之分离的。

MySQL 插件式存储引擎的体系结构

MySQL 学习笔记—插件式存储引擎

插件式存储引擎体系结构提供了标准的管理和支持服务集合,它们对所有的基本存储引擎来说是共同的。存储引擎本身是数据库服务器的组件,负责对在物理服务器层面上维护的基本数据进行实际操作。

应用程序编程人员和 DBA 通过位于存储引擎之上的连接器 API 和服务层来处理 MySQL 数据库。如果应用程序的变化需要改变底层存储引擎,或需要增加 1 个或多个额外的存储引擎以支持新的需求,不需要进行大的编码或进程更改就能实现这类要求。MySQL 服务器体系结构提供了一致和易于使用的 API,这类 API 适用于多种存储引擎,通过该方式,该结构将应用程序与存储引擎的底层复杂性隔离开来。


常用存储引擎简述


  • MyISAM:默认的 MySQL 插件式存储引擎,它是在 Web、数据仓储和其他应用环境下最常使用的存储引擎之一。注意,通过更改 STORAGE_ENGINE 配置变量,能够方便地更改 MySQL 服务器的默认存储引擎。
  • InnoDB:用于事务处理应用程序,具有众多特性,包括 ACID 事务支持。
  • BDB:可替代 InnoDB 的事务引擎,支持 COMMIT、ROLLBACK 和其他事务特性。
  • Memory:将所有数据保存在 RAM 中,在需要快速查找引用和其他类似数据的环境下,可提供极快的访问。
  • Merge:允许 MySQL DBA 或开发人员将一系列等同的 MyISAM 表以逻辑方式组合在一起,并作为 1 个对象引用它们。对于诸如数据仓储等 VLDB 环境十分适合。
  • Archive:为大量很少引用的历史、归档、或安全审计信息的存储和检索提供了完美的解决方案。
  • Federated:能够将多个分离的 MySQL 服务器链接起来,从多个物理服务器创建一个逻辑数据库。十分适合于分布式环境或数据集市环境。
  • Cluster/NDB:MySQL 的簇式数据库引擎,尤其适合于具有高性能查找要求的应用程序,这类查找需求还要求具有最高的正常工作时间和可用性。
  • CSV : 引用由逗号隔开的用作数据库表的文件。
  • Blackhole:用于临时禁止对数据库的应用程序输入。
  • Example:可为快速创建定制的插件式存储引擎提供帮助。

对于整个服务器或方案,并不一定要使用相同的存储引擎,你可以为方案中的每个表使用不同的存储引擎。


将存储引擎指定给表


可以在创建新表时指定存储引擎,或通过使用 ALTER TABLE 语句指定存储引擎。
要想在创建表时指定存储引擎,可使用 ENGINE 参数:

CREATE TABLE tablename(
id INT,
...
) ENGINE = MyISAM;

要想更改已有表的存储引擎,可使用 ALTER TABLE 语句:

ALTER TABLE tablename ENGINE = ARCHIVE;

插入存储引擎


能够使用存储引擎之前,必须使用 INSTALL PLUGIN 语句将存储引擎 plugin(插件)装载到 mysql。例如,要想加载 example 引擎,首先应加载 ha_example.so 模块:

INSTALL PLUGIN ha_example SONAME 'ha_example.so';

为了安装插件式存储引擎,文件.so 必须位于 MySQL 服务器库目录下的 plugin 文件下,plugin 文件必须位于恰当的 MySQL 库目录下,而且发出 INSTALL PLUGIN 语句的用户必须具有 SUPER 权限。

可用

show engines;

显示出所有存储引擎,support 列代表存储引擎的使用状态

  • default 表示该存储引擎为默认的存储引擎

  • yes 表示当前数据库已安装该存储引擎

  • no 表示当前数据库未安装该存储引擎

  • disable 表示该存储引擎被禁用

MySQL 学习笔记—插件式存储引擎


拔出存储引擎


要想拔出存储引擎,可使用 UNINSTALL PLUGIN 语句:

UNINSTALL PLUGIN ha_example;

如果拔出了正被已有表使用的存储引擎,这些表将成为不可访问的。

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-10/136279.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计1855字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中