MySQLのサーバーパラメータ
MySQLのパラメータの指定方法は色々ある。
ということで、結構な頻度で調べることになるんだけど、毎回迷うから、ここに記録しておきます。
ちょっと設定変えて挙動を見たい時に、動的変更可能な変数なら
set [global] variable パラメータ名=設定値;
でいいんだけど、静的設定のみの場合は、オプションファイルに書くか、起動引数に与えてあげなきゃいけないです。
一時的な設定変更実験だと、起動引数がらくかな、って思うものの、serviceコマンドで起動停止する癖がついているので、起動引数を渡す習慣がないし。
なので、オプションファイル「my.cnf」を使う機会が多いです。
以下、マニュアルから抜粋。マニュアルも分量が多いし見出しペインに章番号書いてないから、マニュアルからこの記述を見つけ出すのも割と手間だったりするので、自分の備忘用メインです。
Unix、Linux、および OS X では、MySQL プログラムは起動オプションを次のファイルから指定された順 (トップの項目が最初に使用されます) で読み取ります。
ファイル名 目的 /etc/my.cnf グローバルオプション /etc/mysql/my.cnf グローバルオプション SYSCONFDIR/my.cnf グローバルオプション $MYSQL_HOME/my.cnf サーバー固有のオプション defaults-extra-file --defaults-extra-file=path によって指定されるファイル (ある場合) ~/.my.cnf ユーザー固有のオプション ~/.mylogin.cnf ログインパスオプション
記述にもコツがある。
設定ファイルの場所がわかったら、そのファイルを編集するのだけど、ファイルの中にもブロック指定があって、間違ったブロックにオプション追記しても機能しないのね。
暫定的につけたことを忘れないように、ファイルの最後に追加!とかやっても、期待通りに読み込んでくれない。
ちゃんと[mysqld]のブロックに書いてあげないと。
Oracleって扱いやすかったんだな。
Oracleも、MySQLと同様にパラメータを管理するファイルを持ってます。
しかし、Oracleはいつしか(9iあたりだったか)、サーバーパラメータを管理するファイルを「init.ora」で有名なテキストベースのファイルから、バイナリベースの「spfile」に切り替えました。
Oracleのspfileってバイナリだから直接編集できなくて、最初はめんどくせえ、って思ってました。
でも、こうして振り返ってみると、バイナリのspfileを採用してから使えるようになった「ALTER SYSTEM SET ~ SCOPE=BOTH(またはspfile)」、ってファイルの場所で迷うことなく設定をファイルに書き出せるから便利なんだなっ、って思った今日このごろ。
- 作者: 鈴木啓修,山田奈緒子
- 出版社/メーカー: 技術評論社
- 発売日: 2014/12/18
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (3件) を見る
Oracle データベース ポケットリファレンス ~Oracle11g/12c対応
- 作者: 若杉司
- 出版社/メーカー: 技術評論社
- 発売日: 2014/02/25
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (2件) を見る