如何在MySQL中将MyISAM设置为默认表处理程序?

时间:2011-06-25 18:14:48

标签: mysql mysql-management

我希望我的所有表和整个数据库都使用MyISAM引擎。

My Project专门使用MyISAM数据库。

我希望所有表的默认表处理程序都是MyISAM。

3 个答案:

答案 0 :(得分:10)

更新:InnoDB自MySQL 5.5.5以来一直是默认的存储引擎。 MyISAM现在已经遗留但仍然存在。

default-table-type选项也是default-storage-engine的同义词,并在MySQL 5.5中被删除。而且,从MySQL 5.6.3开始,default-storage-engine仅为永久表设置存储引擎。


要查看当前默认存储引擎的用途:mysql> SHOW引擎; MyISAM一直是默认设置,但有人可能已经改变了它。

要将默认存储引擎更改回MyISAM,请输入

default-table-type=myisam

在my.cnf的[mysqld]部分下,重新启动mysqld。

要将现有表格更改回MyISAM,请执行以下操作:

ALTER TABLE tbl_name ENGINE=MyISAM;

此外,数据库没有存储引擎,也没有。因此,要查看表正在使用哪个引擎:

SHOW CREATE TABLE tbl_name; or SHOW TABLE STATUS LIKE 'tbl_name'\G

答案 1 :(得分:1)

MyISAM是默认的存储引擎。但是,如果不是您的情况,您可以执行以下任何操作:

  1. 在MySQL服务器启动期间使用--default-storage-engine更改它,
  2. 通过在my.cnf配置文件中设置default-storage-engine
  3. 通过设置env变量:

  4. SET GLOBAL storage_engine = MyISAM;
    
    SET SESSION storage_engine = MyISAM;
    

答案 2 :(得分:-1)

对于MySQL 5.7,添加以下行:

default-storage-engine=INNODB
my.inimy.cnf

此处的官方文档:https://dev.mysql.com/doc/refman/5.7/en/storage-engine-setting.html

这对我来说在WAMP 3.0.6中使用MySQL 5.7.14,即使MySQL文档声明“默认引擎是MySQL 5.7中的InnoDB”,它也是MyISAM默认开箱即用的。

WAMP开发人员解释了这一点:

  

“我们在问题上花费了过多的时间   INNODB数据库损坏。

     

我们认为这是因为人们使用INNODB数据库而不是   了解这些表格更复杂。他们只是   在MYSQL有机会之前关闭窗口并在关机时终止作业   干净地关闭它的所有数据库,当然从不采取   曾经腐败的数据库备份突然间最多   在那里生活中很重要。

     

所以我们决定制作默认的数据库引擎MYISAM   这些表不太可能发生。“

相关问题