mysql5.5與mysq 5.6中禁用innodb引擎的方法
更新時間:2014年04月12日 17:12:47 作者:
這篇文章主要介紹了mysql5.5中禁用innodb引擎的方法,需要的朋友可以參考下
今天發(fā)現(xiàn)有一個備份的mysql數(shù)據(jù)文件夾異常變大,一查發(fā)現(xiàn)是多了三個文件:ibdata1 ib_logfile0 ib_logfile1,前者18m,后兩個各5m,原來是遷移的時候從mysql5.0遷移到了5.5,而5.5關(guān)閉innodb啟動不起來,于是我就開啟了innodb,由于innodb會默認增加這幾個數(shù)據(jù)文件和日志文件,導(dǎo)致變大。嘗試設(shè)置數(shù)據(jù)文件的大小,結(jié)果告訴我最小10m,還是太大,于是探索關(guān)閉innodb的方法。
看日志發(fā)現(xiàn)說由于mysql程序升級了,需要運行mysql_upgrade升級一下mysql里面的數(shù)據(jù)庫,這個比較簡單,和mysql命令用法是一樣的,運行一遍就ok了。然后發(fā)現(xiàn)還是無法關(guān)閉innodb,很奇怪,查了下發(fā)現(xiàn)原來mysql5.5默認使用innodb了,所以無法簡單的關(guān)閉掉,還要設(shè)置一下默認使用的引擎為myisam才可以,在my.cnf里加上如下兩句:
default-storage-engine=MYISAM
innodb=OFF
重啟mysql,然后刪掉那三個討厭的文件即可。
MySQL 5.6 禁用INNODB
INNODB是MySQL被ORACLE收購后開發(fā)的,支持事務(wù)和行級鎖等高級功能,但是并不是所有人都需要INNODB的,對大部分人來說,以前的MYISAM引擎就夠了,一般會選擇將默認引擎改為MYISAM,但是INNODB還是會耗費內(nèi)存和硬盤,這時候,就需要把INNODB徹底禁用。
在以前的MySQL中,一般可以這么設(shè)置就行了:
default-storage-engine=MYISAM
skip-innodb
但是在最新的MySQL5.6里,這么設(shè)置是沒法啟動的,需要再增加一句設(shè)置:
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占用了更多的物理內(nèi)存,虛擬內(nèi)存跟5.5使用差不多(5.5也是一個虛擬內(nèi)存消耗大戶)。性能上比5.5提升了30%左右(根據(jù)官方文檔,沒作具體測試)。
看日志發(fā)現(xiàn)說由于mysql程序升級了,需要運行mysql_upgrade升級一下mysql里面的數(shù)據(jù)庫,這個比較簡單,和mysql命令用法是一樣的,運行一遍就ok了。然后發(fā)現(xiàn)還是無法關(guān)閉innodb,很奇怪,查了下發(fā)現(xiàn)原來mysql5.5默認使用innodb了,所以無法簡單的關(guān)閉掉,還要設(shè)置一下默認使用的引擎為myisam才可以,在my.cnf里加上如下兩句:
復(fù)制代碼 代碼如下:
default-storage-engine=MYISAM
innodb=OFF
重啟mysql,然后刪掉那三個討厭的文件即可。
MySQL 5.6 禁用INNODB
INNODB是MySQL被ORACLE收購后開發(fā)的,支持事務(wù)和行級鎖等高級功能,但是并不是所有人都需要INNODB的,對大部分人來說,以前的MYISAM引擎就夠了,一般會選擇將默認引擎改為MYISAM,但是INNODB還是會耗費內(nèi)存和硬盤,這時候,就需要把INNODB徹底禁用。
在以前的MySQL中,一般可以這么設(shè)置就行了:
復(fù)制代碼 代碼如下:
default-storage-engine=MYISAM
skip-innodb
但是在最新的MySQL5.6里,這么設(shè)置是沒法啟動的,需要再增加一句設(shè)置:
復(fù)制代碼 代碼如下:
default-tmp-storage-engine=MYISAM
不僅如此,還需要添加以下配置,否則程序會很容易退出的:
復(fù)制代碼 代碼如下:
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占用了更多的物理內(nèi)存,虛擬內(nèi)存跟5.5使用差不多(5.5也是一個虛擬內(nèi)存消耗大戶)。性能上比5.5提升了30%左右(根據(jù)官方文檔,沒作具體測試)。
相關(guān)文章
MYSQL?數(shù)據(jù)庫時間字段?INT,TIMESTAMP,DATETIME?性能效率的比較介紹
這篇文章主要介紹了MYSQL數(shù)據(jù)庫時間字段INT,TIMESTAMP,DATETIME性能效率的比較介紹,文章通過圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-09-09MySQL 創(chuàng)建用戶、授權(quán)用戶、撤銷用戶權(quán)限、更改用戶密碼、刪除用戶(實用技巧)
這篇文章主要介紹了MySQL 創(chuàng)建用戶、授權(quán)用戶、撤銷用戶權(quán)限、更改用戶密碼、刪除用戶(實用技巧),需要的朋友可以參考下2017-03-03MySQL數(shù)據(jù)庫遠程訪問權(quán)限如何打開(兩種方法)
本文通過兩種方法給大家介紹MySQL數(shù)據(jù)庫遠程訪問權(quán)限的打開方法,非常不錯,實用性非常高,感興趣的朋友一起看看吧2016-05-05MySQL中使用FREDATED引擎實現(xiàn)跨數(shù)據(jù)庫服務(wù)器、跨實例訪問
這篇文章主要介紹了MySQL中使用FREDATED引擎實現(xiàn)跨數(shù)據(jù)庫服務(wù)器、跨實例訪問,本文講解了FEDERATED存儲引擎的描述、安裝與啟用FEDERATED存儲引擎、準備遠程服務(wù)器環(huán)境等內(nèi)容,需要的朋友可以參考下2014-10-10MySql 存儲引擎和索引相關(guān)知識總結(jié)
這篇文章主要介紹了MySql 存儲引擎和索引相關(guān)知識總結(jié),文中講解非常細致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-06-06解決hibernate+mysql寫入數(shù)據(jù)庫亂碼
初次沒習(xí)hibernate,其中遇到問題在網(wǎng)上找的答案與大家共同分享!2009-07-07