(MySQL) key_buffer_sizeの変更 (Debian)

この記事は約3分で読めます。
スポンサーリンク

key_buffer_sizeとは、indexの常駐量

これがデフォルトでは8MB?と小さすぎるので、これを調整する。

# ハードウェアが贅沢になったともいえる。

① コマンドでrootでログイン

② MySQLにログイン

mysql -u root -p

MySQLにログインする際のパスワードは①のモノで。

③ key_buffer_sizeの値を調べる

show variables like ‘key_buffer_size’ ;

+—————–+———-+
| Variable_name | Value |
+—————–+———-+
| key_buffer_size | 16777216 |
+—————–+———-+
1 row in set (0.00 sec)

この時の/etc/mysql/my.cnf中の記述は

key_buffer = 16M

となっている。

MySQLのバージョンによって?はkey_buffer_sizeとなっていることもある。

桁区切りは

16,777,216(bytes)

なので、これは

16(M)777(K)216(bytes)

であり、16MB。

ということは、my.cnf中の記述で「16M」という表現でOK?

④ my.cnfを書き換えてUploadする。

key_buffer = 512M

⑤ MySQLからログアウト。

mysql > exit

⑥ MySQLを再起動する。

/etc/init.d/mysql restart

再度以下で値を確認する。

show variables like ‘key_buffer_size’ ;

+—————–+———–+
| Variable_name | Value |
+—————–+———–+
| key_buffer_size | 536870912 |
+—————–+———–+
1 row in set (0.00 sec)

536,870,912(bytes)

536(M)870(K)912(bytes)

なお、私の問題になっている環境では、512Mにしても1M(1,048,576bytes)にしても変化はなかった。

他の設定や、SQL文の見直しなどが必要になる。

とりあえずは256M(268,435,456bytes)にしておいた。

あまり大きくし過ぎるとメモリを圧迫するので、Debian端末が搭載する総メモリ容量の確認方法により総メモリを確認の上、適量を割り振ろう。

実践ハイパフォーマンスMySQL 第3版
Baron Schwartz Peter Zaitsev Vadim Tkachenko
オライリージャパン
売り上げランキング: 56,487
タイトルとURLをコピーしました