/etc/my.cnf が見つかりません

  • 投稿日:
  • by
  • カテゴリ:
  • ハッシュタグ:

Webmin で 「MySQLサーバの設定」というアイコンをクリックしたら、「/etc/my.cnf が見つかりません」とか言われてしまいました。
my.cnf って何?

ググってみたら、my.cnf というのはMySQLの設定ファイルらしい。 なんで設定ファイルがないのに動いているのかよく分かりませんが、FreeBSD の ports で MySQL を入れると /etc にあるハズの my.cnf が作られないみたい。

どうやら、「/usr/local/share/mysql/ にサンプルがいくつかあるので、自分で /etc にコピーしてね」ということらしいので、とりあえず

www# cp /usr/local/share/mysql/my-large.cnf /etc/my.cnf

とやっておきました。
これで良かったのかしらん?


ところが、MySQLの実行プロセスを見ると、

/usr/local/libexec/mysqld --defaults-extra-file=/var/db/mysql/my.cnf --basedir=/usr/local --datadir=/var/db/mysql --log-error=/var/db/mysql/www.still-laughin.com.err --pid-file=/var/db/mysql/www.still-laughin.com.pid

とあります。 /var/db/mysql の中を見てみましたが、my.cnf はありません。
/usr/local/etc/rc.d/mysql-server を確認すると、

command_args="--defaults-extra-file=${mysql_dbdir}/my.cnf --user=${mysql_user} --datadir=${mysql_dbdir} --pid-file=${pidfile} ${mysql_args} > /dev/null 2>&1 &"

とあります。
どうやら FreeBSD の ports の場合は、/etc ではなく /var/db/mysql の中に my.cnf を置くのが正解のようです。