本篇內(nèi)容介紹了“怎么配置MySQL內(nèi)存buffer pool”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
成都創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站設(shè)計、網(wǎng)站制作、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)晉中,10年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575
內(nèi)存buffer pool
MySQL在啟動時默認(rèn)被分配給512MB RAM;其中InnoDB buffer pool 用于緩存表數(shù)據(jù)、索引及其他的一些輔助緩沖池,為了高效的大量讀,buffer pool劃分pages;為了高效進行緩存管理,buffer pool 應(yīng)用多種LRU(least recently used)算法,將相鄰的page串成鏈,管理冷熱數(shù)據(jù)。
1) 配置InnoDB Buffer Pool Size
innodb_buffer_pool_size為控制buffer pool大小的參數(shù),通常推薦系統(tǒng)內(nèi)存的50~70%。默認(rèn)值128M。innodb_buffer_pool_size參數(shù)5.7后可以在線調(diào)整,必須等于或整數(shù)倍innodb_buffer_pool_chunk_size * innodb_buffer_pool_instances;
例如:
mysql> SET GLOBAL innodb_buffer_pool_size=402653184;
or my.cnf
[mysqld]
innodb_buffer_pool_size=402653184
l innodb_buffer_pool_chunk_size參數(shù)默認(rèn)值128M,只能在啟動時調(diào)整(命令行或者配置文件),且以1M為單位;
shell> mysqld --innodb-buffer-pool-chunk-size=134217728
or my.cnf
[mysqld]
innodb_buffer_pool_chunk_size=134217728
innodb_buffer_pool_instances default value is 1;
l innodb_buffer_pool_instances 默認(rèn)為8 (or 1 if innodb_buffer_pool_size < 1GB),如果是Windows或者32-bit platforms,默認(rèn)值為系統(tǒng)自動設(shè)置(autosized);其作用是劃分buffer pool為多個區(qū),提高并發(fā)效率。
2) 查詢狀態(tài)
mysql> SHOW STATUS WHERE Variable_name='InnoDB_buffer_pool_resize_status';
Buffer pool resizing progress is also logged in the server error log
3) 預(yù)載入buffer pool
要在服務(wù)器啟動時預(yù)載入buffer pool,請啟用選項:
innodb_buffer_pool_dump_at_shutdown 和innodb_buffer_pool_load_at_startup。
“怎么配置MySQL內(nèi)存buffer pool”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!