《Mysql實例mysql5.5與mysq 5.6中禁用innodb引擎的方法》要點:
本文介紹了Mysql實例mysql5.5與mysq 5.6中禁用innodb引擎的方法,希望對您有用。如果有疑問,可以聯系我們。
今天發現有一個備份的mysql數據文件夾異常變大,一查發現是多了三個文件:ibdata1 ib_logfile0 ib_logfile1,前者18m,后兩個各5m,原來是遷移的時候從mysql5.0遷移到了5.5,而5.5關閉innodb啟動不起來,于是我就開啟了innodb,由于innodb會默認增加這幾個數據文件和日志文件,導致變大.嘗試設置數據文件的大小,結果告訴我最小10m,還是太大,于是探索關閉innodb的辦法.
看日志發現說由于mysql程序升級了,需要運行mysql_upgrade升級一下mysql里面的數據庫,這個比較簡單,和mysql命令用法是一樣的,運行一遍就ok了.然后發現還是無法關閉innodb,很奇怪,查了下發現原來mysql5.5默認使用innodb了,所以無法簡單的關閉掉,還要設置一下默認使用的引擎為myisam才可以,在my.cnf里加上如下兩句:
代碼如下:
default-storage-engine=MYISAM
innodb=OFF
重啟mysql,然后刪掉那三個討厭的文件即可.
MySQL 5.6 禁用INNODB INNODB是MySQL被ORACLE收購后開發的,支持事務和行級鎖等高級功能,但是并不是所有人都必要INNODB的,對大部分人來說,以前的MYISAM引擎就夠了,一般會選擇將默認引擎改為MYISAM,但是INNODB還是會耗費內存和硬盤,這時候,就必要把INNODB徹底禁用.
在以前的MySQL中,一般可以這么設置就行了:
代碼如下:
default-storage-engine=MYISAM
skip-innodb
但是在最新的MySQL5.6里,這么設置是沒法啟動的,必要再增加一句設置:
代碼如下:
default-tmp-storage-engine=MYISAM
不僅如此,還必要添加以下配置,否則程序會很容易退出的:
代碼如下:
loose-innodb-trx=0
loose-innodb-locks=0
loose-innodb-lock-waits=0
loose-innodb-cmp=0
loose-innodb-cmp-per-index=0
loose-innodb-cmp-per-index-reset=0
loose-innodb-cmp-reset=0
loose-innodb-cmpmem=0
loose-innodb-cmpmem-reset=0
loose-innodb-buffer-page=0
loose-innodb-buffer-page-lru=0
loose-innodb-buffer-pool-stats=0
loose-innodb-metrics=0
loose-innodb-ft-default-stopword=0
loose-innodb-ft-inserted=0
loose-innodb-ft-deleted=0
loose-innodb-ft-being-deleted=0
loose-innodb-ft-config=0
loose-innodb-ft-index-cache=0
loose-innodb-ft-index-table=0
loose-innodb-sys-tables=0
loose-innodb-sys-tablestats=0
loose-innodb-sys-indexes=0
loose-innodb-sys-columns=0
loose-innodb-sys-fields=0
loose-innodb-sys-foreign=0
loose-innodb-sys-foreign-cols=0
摘自http://docs.oracle.com/cd/E17952_01/refman-5.6-en/innodb-turning-off.html
另外MYSQL 5.6 比 5.5占用了更多的物理內存,虛擬內存跟5.5使用差不多(5.5也是一個虛擬內存消耗年夜戶).性能上比5.5提升了30%左右(根據官方文檔,沒作具體測試).
維易PHP培訓學院每天發布《Mysql實例mysql5.5與mysq 5.6中禁用innodb引擎的方法》等實戰技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養人才。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/10436.html