在小內存的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了,我還傻乎乎地硬把幾年前的老黃歷往裡塞,真是不假思索的照搬照抄啊,羞愧羞愧!!