Innodb

在 CentOS 6.7 中無法更改 innodb_buffer_pool_size MySQL 5.6

  • November 29, 2017

我已經搜尋了一遍,但找不到service mysqld restart從哪裡獲取配置文件:

sudo find / -name "*.cnf" | grep my

/usr/share/doc/mysql-community-server-5.6.33/my-default.cnf
/usr/share/mysql/my-default.cnf
/var/lib/mysql/auto.cnf
/var/lib/mysql/my.cnf
/etc/my.cnf

我的 MySQL 5.6.33 在 1 GB 的 InnoDB 緩衝池上執行,而這些文件都沒有該設置。我有設置

[mysqld]
innodb_buffer_pool_size = 4G

在從 /usr/share/mysql/my-default.cnf 複製到 /etc/my.cnf 的文件中 - 我這樣做了:

service mysqld restart --defaults-file=/etc/my.cnf

還是行不通。

  • 關於 Service mysqld start --defaults-file=..

AFAIK 傳遞參數不是正確的方法。它不應該接受這個論點。從來沒有這樣做過;重要的是,預設位置甚至都不需要!!!

  • 確認正在使用哪個 my.cnf:

mysqld –verbose –help | grep -C1 my.cnf

  • 確認我們在 my.cnf 中有正確的條目

grep innodb_buffer_pool_size /etc/my.cnf

  • 驗證您的錯誤日誌,您應該會看到類似

InnoDB: Initializing buffer pool size = ...

您可以使用它來設置全域 innodb 緩衝池大小

SET GLOBAL innodb_buffer_pool_size=4294967296;

http://dev.mysql.com/doc/refman/5.7/en/innodb-buffer-pool-resize.html

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