在mysql中禁用myisam引擎?

时间:2015-05-12 08:25:41

标签: mysql myisam percona

我想阻止其他人创建MyISAM表,是否可能?

我正在尝试从源代码安装Percona5.5,使用cmake use编译:

-DWITHOUT_MYISAM_STORAGE_ENGINE=1

但这不能禁用myisam引擎。

我错过了什么吗? 谁能告诉我如何禁用它?

3 个答案:

答案 0 :(得分:0)

似乎MyISAM是必需的,您提到的参数可用于控制其他可选存储引擎。我基于我所阅读的内容here。启动时,你可以控制的是setting the default storage engine,恕我直言。

答案 1 :(得分:0)

  

要从构建中排除存储引擎,请使用 - DWITHOUT_engine_STORAGE_ENGINE = 1。   例子:   -DWITHOUT_EXAMPLE_STORAGE_ENGINE = 1   -DWITHOUT_FEDERATED_STORAGE_ENGINE = 1   -DWITHOUT_PARTITION_STORAGE_ENGINE = 1   如果既未为给定存储引擎指定-DWITH_engine_STORAGE_ENGINE也未指定-DWITHOUT_engine_STORAGE_ENGINE,则引擎将构建为共享模块,如果无法将其构建为共享模块,则将其排除。

但是,我认为这些仅适用于可选的数据库引擎。请记住,MyISAM曾经是Mysql的主要存储引擎,其他存储引擎(如Innodb)最初是后来集成的插件。因此,Myisam仍然用于信息和perforamnce架构数据库。我不相信你可以在没有启用MyISAM的情况下安装Mysql / Percona服务器。

你可以进行常规安装,然后五十周建议使用他建议的插件。如pugmax所述,你绝对可以控制在Mysql中创建数据库/表的默认引擎。

虽然我听说(不要引用我的话),但他们可能会更改性能和信息模式,默认情况下在5.7版本中使用Innodb存储引擎。

答案 2 :(得分:0)

将其添加到您的MySQL配置文件中:

disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED,ARCHIVE"

它对MySQL 5.7很有用。