MySQL8的inodb参数设置_MySQL8.0自适应参数innodb_dedicated_server
MySQL8.0有了一個新參數又叫自適應參數 innodb_dedicated_server
將innodb_dedicated_server開啟的時候,它可以自動的調整下面這四個參數的值:
innodb_buffer_pool_size 總內存大小
innodb_log_file_size redo文件大小
innodb_log_files_in_group redo文件數量
innodb_flush_method 數據刷新方法
只需將innodb_dedicated_server = ON 設置好,上面四個參數會自動調整,解決非專業人員安裝數據庫后默認初始化數據庫參數默認值偏低的問題,讓MySQL自適應的調整上面四個參數,前提是服務器是專用來給MySQL數據庫的,如果還有其他軟件或者資源或者多實例MySQL使用,不建議開啟該參數,本文以MySQL8.0.19為例。
那么按照什么規則調整呢?MySQL官方給出了相關參數調整規則如下:
1. innodb_buffer_pool_size自動調整規則:
專用服務器內存大小
buffer_pool_size大小
小于1G
128MB (MySQL缺省值)
1G to 4G
OS內存*0.5
大于4G
OS內存*0.75
2. innodb_log_file_size自動調整規則:
buffer_pool_size大小
log_file_size 大小
小于8G
512MB
8G to 128G
1024MB
大于128G
2048MB
3. innodb_log_files_in_group自動調整規則:
(innodb_log_files_in_group值就是log file的數量)
buffer_pool_size大小
log file數量
小于8G
ROUND(buffer pool size)
8G to 128G
ROUND(buffer pool size * 0.75)
大于128G
64
說明:如果ROUND(buffer pool size)值小于2GB,那么innodb_log_files_in_group會強制設置為2。
4. innodb_flush_method自動調整規則:
該參數調整規則直接引用官方文檔的解釋:The flush method is set to O_DIRECT_NO_FSYNC when innodb_dedicated_server is enabled. If the O_DIRECT_NO_FSYNC setting is not available, the default innodb_flush_method setting is used.
如果系統允許設置為O_DIRECT_NO_FSYNC;如果系統不允許,則設置為InnoDB默認的Flush method。
自適應參數的好處:
自動調整,簡單方便,讓DBA更省心
自帶優化光環:沒有該參數前,innodb_buffer_pool_size和log_file_size默認安裝初始化后只有128M和48M,這對于一個生產環境來說是遠遠不夠的,通常DBA都會手工根據服務器的硬件配置來調整優化,該參數出現后基本上可以解決入門人員安裝MySQL后的性能問題。
云廠商,虛擬化等動態資源擴容或者縮容后,不必再操心MySQL參數配置問題。
自適應參數的限制:
專門給MySQL獨立使用的服務器
單機多實例的情況不適用
服務器上還跑著其他軟件或應用的情況不適用
總結
以上是生活随笔為你收集整理的MySQL8的inodb参数设置_MySQL8.0自适应参数innodb_dedicated_server的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab基于ssd的角点匹配_基于关
- 下一篇: 泰国总理:特斯拉代表将前往泰国考察工厂选