私はMySQL 5.5.23-1〜dotdeb.0(Debian)を使用していますが、これはmy.cnfの関連部分です
default-storage-engine = innodb
innodb_buffer_pool_size = 3G
innodb_log_file_size = 256M
innodb_thread_concurrency = 8
innodb_flush_method = O_DIRECT
innodb_file_per_table = 1
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 4M
innodb_additional_mem_pool_size = 20M
問題は、innodb_buffer_pool_sizeにどの値を選択しても(4Gと8Gと8000Mも試しました)。 mysql> SHOW global VARIABLES;
| innodb_buffer_pool_size | 134217728
チューニングプライマースクリプトの結果:
INNODB STATUS
Current InnoDB index space = 621 M
Current InnoDB data space = 3.82 G
Current InnoDB buffer pool free = 0 %
Current innodb_buffer_pool_size = 128 M
Depending on how much space your innodb indexes take up it may be safe
to increase this value to up to 2 / 3 of total system memory
これを修正するためのヒントに感謝します。
免責事項:Debianユーザーではありません
コメントに基づいて、私は以下を提案します
cp /etc/mysql/my.cnf /etc/my.cnf
cp /etc/mysql/my.cnf /usr/etc/my.cnf
cp /etc/mysql/my.cnf /var/lib/mysql/my.cnf (or wherever datadir is)
これらのmy.cnfファイルを作成してmysqlを再起動してもinnodb_buffer_pool_sizeを変更できない場合は、mysqlバイナリmysqldが疑われます。ソースコンパイルされている可能性が最も高く、おそらくInnoDBの値がハードコードされています。
Mysqldがソースコンパイルされているかどうかを確認するには、mysqldの稼働中にOSのプロセスリストを確認します。数十のmysqld接続が表示される場合、mysqldがソースコンパイルされている可能性があります。
そこから、mysqlをアンインストールし、RPMまたはtarインストールをダウンロードすることをお勧めします。次に、my.cnfが応答するかどうかを確認します。
MySQLにMy.cnfファイルの新しいパラメータを認識させたい場合は、mySQLを再起動する必要があります。