
使用最新的oneinstack脚本安装MySQL5.5时,会自动采用InnoDB引擎,已不再提供MyISAM引擎的设置选项。一般认为,小内存VPS的内存有限,且小网站不需要使用数据库事务,使用MyISAM引擎比InnoDB更合适。那么oneinstack一键安装完成后,怎么把MySQL的默认存储引擎改为MyISAM? 以下是修改办法。
修改/etc/my.cnf:
[mysqld]
skip-innodb
default-storage-engine = MyISAM
然后重启:
service mysqld restart
这时可以看到,InnoDB由DEFAULT变为NO,MyISAM变为DEFAULT。
show engines
注意:
1.
要把之前已经存在的default-storage-engine = InnoDB注释掉或者删除,否则启动会报以下错误:
Starting MySQL. ERROR! The server quit without updating PID file (/data/mysql/mysql.pid).
2.
如果是MySQL5.6,还需要配置
default-tmp-storage-engine=MYISAM
3.
如果配置没问题,启动还是报错,那么还需要增加一些类似loose-innodb-trx=0的配置,见MySQL官方文档,本文后面有链接。
然后重启:
service mysqld restart
这时可以看到,InnoDB由DEFAULT变为NO,MyISAM变为DEFAULT。
show engines
注意:
1.
要把之前已经存在的default-storage-engine = InnoDB注释掉或者删除,否则启动会报以下错误:
Starting MySQL. ERROR! The server quit without updating PID file (/data/mysql/mysql.pid).
2.
如果是MySQL5.6,还需要配置
default-tmp-storage-engine=MYISAM
3.
如果配置没问题,启动还是报错,那么还需要增加一些类似loose-innodb-trx=0的配置,见MySQL官方文档,本文后面有链接。
参考:
https://dev.mysql.com/doc/refman/5.5/en/innodb-turning-off.html
https://dev.mysql.com/doc/refman/5.6/en/innodb-turning-off.html
https://stackoverflow.com/questions/11772611/how-to-disable-innodb-in-mysql