web-dev-qa-db-ja.com

InnoDBバッファープールサイズを増やす

MySql InnoDBのバッファープールサイズとログファイルサイズの設定に問題があります。私はMySqlエキスパートにはほど遠いですが、周りを読んでいますが、これを変更するには、これらの行を/etc/mysql/my.cnfに追加するだけです。

# Set buffer pool size to 50-80% of your computer's memory
innodb_buffer_pool_size=2048M
innodb_additional_mem_pool_size=512M
#
# Set the log file size to about 25% of the buffer pool size
innodb_log_file_size=256M
innodb_log_buffer_size=128M

サーバーには約7GBのメモリがあり、Webサーバーも実行しているので、これらの数値は大丈夫な出発点になると思います。サーバーを保存して再起動した後、変更が有効になったように見えません。バッファプールがまだ16.0Mであると報告されているMysqltunerを実行してみました。私が間違っていることは何か考えていますか?設定ファイルの詳細を確認したい場合はお知らせください。ありがとう!

11
tgrosinger

これらの行が[mysqld]セクション内、つまり[mysqld]の後、ただし[section]などの他の[mysqldump]の前にあることを確認してください。

7
xofer

MySQLエラーログで情報を確認します-おそらく/var/lib/mysqlにあります-また、これはbigmemカーネルを備えた32ビットシステムですか?その場合、MySQLに対して2GBを超えるアドレスを指定することはできません。

また、バッファプールのサイズについてMySQL自体から確認する必要があります-デフォルトが128Mであることを考慮して、16MBは少しオフに聞こえます。これを確認するには、そのサーバーのMySQLセッションに「SHOW VARIABLES LIKE 'innodb_buffer_pool_size」と入力します。結果はバイト単位です。

2
thinice

私の場合、問題はinnodb_buffer_pool_instances

減らしていたのでinnodb_buffer_pool_size、インスタンスあたり1 GB未満になったため、四捨五入されました。

instancesも削減すると、最終的にpool sizeが変更されました!

2
carla

Mysqlを--no-defaultsまたは(-no-defaults)で起動すると、設定がまったく読み込まれなくなる可能性があります。 --defaults-file(または-default-file、不明)もあり、特定の構成をロードします。また、それが編集したものとは異なる構成のものかどうかも確認してください。

あなたはで始めることができます:

--innodb_buffer_pool_size=2048M --innodb_log_buffer_size=512M

または、すでに開始しているパラメーターをチェックして、それらの1つが原因で構成が省略されていないか確認します。

0
juwi