添加skip-innodb后MySQL启动失败的解决办法
在小内存的VPS上,童鞋们(包括我)一般都爱做下所谓的“优化”,其中针对MySQL的优化中,有这样三个参数:
skip-innodb / skip-bdb / skip-locking
特别是第一个参数,据说打开后很省内存,所以我在安装完MySQL之后就在my.cnf中填上了这三个参数,但很不幸,在随后的service mysqld restart中,数据库启动失败。这还得了?!于是乎着急毛慌地请教Google去了,不过可悲的是在国内互联网“天下文章一大抄”的现状下,找个准确的、经过个人实践的答案相当不容易,我的问题最终也没解决。
后来想到去看看我的MySQL版本,一看是5.1.54,而且同时在my.cnf中发现一个skip-external-locking参数,在请教过Google后得知:skip-external-locking就是新版本的skip-locking,skip-locking是早几辈子的事了,而且在新版本的MySQL中,已经废除了skip-bdb这个参数!到这基本上问题就解开了,既然skip-locking都改了,那skip-innodb没准儿也改了!最终在MySQLd的文档中找到了这样一句话:
If InnoDB hasn’t been built, the option –skip-innodb isn’t available. We prefix with ‘loose’ to allow the option to be used at all times. (详情点这里)
这就明白了,skip-innodb已经改成loose-skip-innodb了
原文:http://www.citydog.me/1468.html