Mysql

MySql 5.6:忽略 my.ini 中的 innodb_page_size 設置

  • August 22, 2018

所以我嘗試通過在 my.ini 中設置這個值來將 innodb_page_size 增加到 32k:

innodb_page_size=32k

然後我停止了 MySql 服務,然後重新啟動它。Win 中的服務如下所示:

"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld" --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.6\my.ini" MySQL56

我編輯了正確的文件,並保存了它:

在此處輸入圖像描述

但是當我查看HeidiSql中的變數時,我看到了 16k 的標準值:

在此處輸入圖像描述

我不確定我做錯了什麼……感謝任何幫助!

根據innodb_page_size上的 MySQL 文件,第 2 段

innodb_page_size 只能在初始化 MySQL 實例之前配置,之後不能更改。如果未指定值,則使用預設頁面大小初始化實例。請參閱第 14.6.1 節,“InnoDB 啟動配置”。

您必須在my.ini第一次創建數據庫並第一次啟動 mysqld 的那一天初始化該值。之後沒有重新啟動 mysqld 可以改變這一點。

如果你想為innodb_page_size創建一個新大小的 MySQL 實例

  1. 您必須設置一個沒有數據的新數據目錄(但不要啟動 mysqld)
  2. my.ini在該新實例中將 innodb_page_size 設置為 32768
  3. 針對新的my.ini和新的啟動mysqlddatadir
  4. mysqldump 舊實例中的數據
  5. 將 mysqldump 載入到新實例中

試一試,讓我們知道!

警告

請注意磁碟 I/O 更改。同一文件的第 3 段說:

預設的 16k 頁大小適用於廣泛的工作負載,特別是涉及表掃描的查詢和涉及批量更新的 DML 操作。對於涉及許多小寫入的 OLTP 工作負載,較小的頁面大小可能更有效,當單個頁麵包含許多行時,爭用可能是一個問題。對於通常使用小塊大小的 SSD 儲存設備,較小的頁面可能也很有效。保持 InnoDB 頁面大小接近儲存設備塊大小可以最大限度地減少重寫到磁碟的未更改數據量。有關一般 I/O 調整建議,請參閱第 8.5.8 節,“優化 InnoDB 磁碟 I/O”。

引用自:https://dba.stackexchange.com/questions/214188