共計 1156 個字符,預(yù)計需要花費 3 分鐘才能閱讀完成。
這篇文章主要為大家展示了“MySQL InnoDB 有哪些相關(guān)的參數(shù)設(shè)置”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓丸趣 TV 小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“MySQL InnoDB 有哪些相關(guān)的參數(shù)設(shè)置”這篇文章吧。
innodb_buffer_pool_size
此參數(shù)類似于 oracle 的 SGA 配置,當(dāng)主機做為 mysql 數(shù)據(jù)庫服務(wù)器時,一般配置為整機內(nèi)存的 60%~80%。
innodb_buffer_pool_instances
此參數(shù)用于設(shè)置內(nèi)存緩沖池實例數(shù),將 innodb_buffer_pool_size 配置的內(nèi)存分割成 N 份,此參數(shù)當(dāng)配置內(nèi)存大小于 1G 時才生效,當(dāng)數(shù)據(jù)庫有多個會話進(jìn)行數(shù)據(jù)庫操作時用于并行在多個內(nèi)存塊中處理任務(wù),一般配置值小于等于服務(wù)器 CPU 的個數(shù)。
max_connections
此參數(shù)用于設(shè)置 MySQL 的最大連接數(shù),當(dāng)數(shù)據(jù)庫面對高并發(fā)時,這個值需要調(diào)節(jié)為一個合理的值,才滿足業(yè)務(wù)的并發(fā)要求,避免數(shù)據(jù)庫拒絕連接。
max_user_connections
此參數(shù)用于設(shè)置單個用戶的連接數(shù)。
innodb_log_buffer_size
此參數(shù)用于設(shè)置日志緩沖區(qū)大小, 一般不用設(shè)置太大,能存下 1 秒鐘操作的數(shù)據(jù)日志就行了,mysql 默認(rèn) 1 秒寫一輪詢寫一次日志到磁盤。
innodb_stats_on_metadata
此參數(shù)用于設(shè)置是否動態(tài)收集統(tǒng)計信息,開啟時會影響數(shù)據(jù)庫的性能(一般關(guān)閉,找個時間手動刷新,或定時刷新)如果為關(guān)閉時,需要配置數(shù)據(jù)庫調(diào)度任務(wù),定時刷新數(shù)據(jù)庫的統(tǒng)計信息。
innodb_lock_wait_timeout
此參數(shù)用于控制鎖的超時時間,默認(rèn)為 50,這個值要注意,如果有特殊業(yè)務(wù)確實要耗時較長時,不能配置太短。
innodb_thread_concurrency
此參數(shù)用于設(shè)置限制能夠進(jìn)入 innodb 層的線程數(shù)
建議設(shè)置成機器 cpu 核數(shù)的 2 倍,不過大多數(shù)情況下,默認(rèn)值已經(jīng)足夠。
innodb_write_io_threads
此參數(shù)用于寫臟頁的線程數(shù)(數(shù)據(jù)庫寫操作時的線程數(shù),用于并發(fā))
innodb_read_io_threads
此參數(shù)用于從磁盤讀文件塊的線程數(shù) (數(shù)據(jù)庫讀操作時的線程數(shù),用于并發(fā))
假如 CPU 是 2 顆 8 核的,那么可以按照如下設(shè)置:
innodb_read_io_threads = 8
innodb_write_io_threads = 8
如果數(shù)據(jù)庫的讀操作比寫操作多,那么可以設(shè)置:
innodb_read_io_threads = 10
innodb_write_io_threads = 6
以上是“MySQL InnoDB 有哪些相關(guān)的參數(shù)設(shè)置”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道!