Innodb 存儲引擎的緩存機制和 MyISAM 的最大區別就在于 Innodb 不僅僅緩存索引,同時還會緩存實際的數據。所以,完全相同的數據庫,使用 Innodb 存儲引擎可以使用更多的內存來緩存數據庫相關的信息,當然前提是要有足夠的物理內存。innodb_buffer_pool_size 參數用來設置 Innodb 最主要的 Buffer(Innodb_Buffer_Pool)的大小,也 就是緩存用戶表及索引數據的最主要緩存空間,對 Innodb 整體性能影響也最大。這個參數設置成內存的50%-80%,當然具體要結合實際情況而定,考慮別的存儲引擎占用的內存,考慮服務器是不是還提供其他服務等等…看來,我的機器之所以宕掉的原因是,系統默認的內存:
default innodb_buffer_pool_size
innodb_buffer_pool_size=50M
出現數據庫經常停止可以參照下面解決方案:
解決方法一:
安裝寶塔面板【linux工具箱】 Linux工具箱 添加設置swap
添加設置SWAP大小,根據你的實際內存進行調整,swap是Linux下的虛擬內存,設置適當的swap可增加服務器穩定性,建議swap容量在真實內存容量的1.5倍左右,若您的服務器內存大于4GB,可設1-2GB的固定值,swap文件默認保存在/www/swap,設置前請確保磁盤空間夠用。
解決方法二:
根據你的實際內存進行mysql優化 根據你的實際內存進行mysql優化
解決方法三:
登陸寶塔后臺-計劃任務-添加Mysql守護,執行周期,可選擇多長時間執行一次,比如10分鐘監控執行一次,具體的周期請站長根據自己服務器實際情況來設置。 添加mysql守護
解決方法四:
這個方法簡單粗暴,適合土豪站長,直接增加服務器內存或使用云數據庫,把數據庫分離出去。
請立即點擊咨詢我們或撥打咨詢熱線: 18942620423,我們會詳細為你一一解答你心中的疑難。項目經理在線