my.cnfはMySQLのインストール後に設定するおなじみのMySQLの設定ファイルです。
別に一から作れと言われているわけではなくて、元々4つのテンプレートが用意されています。
が、
おなじみすぎるということなのか、それぞれがどう違うのかっていうのがいまいち分からない。
本やWebで調べてみると、ほとんどが「自分の環境に合ったものを選んで」とか、「サーバのメモリ容量に合わせて」とか、挙句の果てには「自分の好みで」とか書いてあります。
しかし、「自分の環境に合ったもの」、「サーバのメモリ容量に合わせる」ための基準は何なのか、という重要な部分が見当たりません。
検索のしかたが悪いのか、この4つのテンプレートの違いがヒットせず、かといって適当に設定するのも気が引けたので調べてみました。
my.cnfのテンプレートファイルはサイズの大きい順に4つ。
違いは、MySQLをインストールしたサーバが搭載しているメモリの容量によって変わるようです。
まとめると以下のような感じになります。
my-huge.cnf
1G~2Gのメモリを搭載したMySQL専用サーバ向け
my-large.cnf
512M以上のメモリを搭載したMySQL専用サーバ向け
my-medium.cnf
128M程度のメモリを搭載した用途多数の共有サーバの中で、MySQLに32~64Mのメモリを使用できるサーバ向け
my-small.cnf
64M以下のメモリしか搭載できないサーバ向け
どんな用途でMySQLを使用するかによって変わりますが、一般的にはmediumを使用して問題ないようです。
ようやく設定が分かって一安心。インストール後の設定も無事済みました。
やっぱり好みで選んではいけないような気がします。