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


11

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を実行してみました。私が間違っていることは何か考えていますか?設定ファイルの詳細を確認したい場合はお知らせください。ありがとう!


どんな分布?ディストリビューションのパッケージなどを使用していますか?mysqlをどのように起動しますか?つまり、何をインストールし、何をインストールし、どのようにインストールしましたか?
navaho

これは、Ubuntuサーバーx64上のデフォルトのランプスタックです
tgrosinger

/ opt / lampp / etcに別の設定ファイルがあり、これが機能すると思います。
tgrosinger

回答:


7

ことを確認し、これらの行は、内にある[mysqld]後のセクションすなわち[mysqld]が、他の前[section]など[mysqldump]


これらは、[mysqldump]の直前の[mysqld]の正しいセクションにあります
tgrosinger

2

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

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


どういうわけか私はそのディレクトリに入ることができません。/ var / libでlsを実行すると表示されますが、そこにcdしようとすると「アクセスが拒否されました」と表示されます。sudoでcdしようとすると、「そのようなファイルやディレクトリはありません」と表示されます。考え?Ubuntu Serverの64ビットインストールです。
tgrosinger 2012年

my.cnf(/etc/my.cnfまたはdebianにはおそらく/etc/mysql/my.cnf)を投稿する必要があります
thinice

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

1
sudo cdsudoは適切な特権を持つサブシェルを作成し、終了時にそれを閉じて、開始した場所に戻るため、機能しません。sudo -s代わりに試してください。
Ladadadada 2012年

したがって、SHOW VARIABLES LIKE ...を使用すると、バッファプールのサイズが16777216であり、実際には16Mであると表示されます。これがmy.cnfです:hastebin.com/binaqeforu.vala ありがとうございます!
tgrosinger 2012年

2

私の場合、問題はでしたinnodb_buffer_pool_instances

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

インスタンスも削減したところ、ようやくプールサイズが変更されました。


0

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

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

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

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


どのようにそれがubuntuでどのように起動しているかを確認できますか?私はrc.dファイルに追加するだけでアーチを作成することに慣れていますが、ここにはそのようなものはありません。
tgrosinger 2012年

ArchはBSDスタイルのInitを使用していますが、UbuntuはSysV Initを使用しています。したがって、/ etc / init.dにファイルを起動するためのファイルがあり、オプションが設定されている/ etc / defaultsにファイルがある可能性があります。'ps -ef | grep mysql '現在実行されているオプションを確認できます。
juwi
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.