
HomebrewでMySQLをインストールする際の注意点などについてです。MySQL自体はインストール時に表示される注意書きどおりに設定すれば問題なかったのですが、起動スクリプトで少しトラブったので備忘録です。
その他にもメモっておきたいことがあったので記事にしました。HomebrewでMySQLをインストールした方の参考になればと思います。
MySQLのインストールと初期設定
まずはMySQLのインストール。
インストールが終了すると、下のように色々と表示されるので、その通りに進めていけばとりあえず使えるようになります。
ちなみに、これらの注意書きは$ brew info mysql
を実行すればいつでも見れます。
データベースとユーザーの設定
インストールが済んだら、表示された内容に従って順に設定していきます。最初にデータベースのインストールとデータを格納する場所の設定をします。
$ unset TMPDIR
$ mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
これらを実行すると、ユーザーとパスワードの設定をするよう促されるので、その通りに設定します。
最初にmysqlを起動します。
起動したらパスワードの設定をします。
赤字の部分は設定したいパスワードに置き換えます。青字の部分は環境によって変わってきます。
一通り終わると/usr/local/var
に「mysql」というフォルダが作成され、ここがデータベースの格納場所になります。
ほかにも設定したい項目がある場合は、下記を実行して対話方式で設定していきます。
起動スクリプトの設定
OS起動時にmysqlを自動で起動させるためにスクリプトを設置します。
~/Library/LaunchAgents
が無い場合は、先に下記を実行します。
設置したらスクリプトを一部変更します。デフォルトではmysqlが落ちても自動で復帰するようになっているのですが、言い方を変えると「停止できない」状態です。
何かトラブったりして起動できない状態になると「落ちる→起動→落ちる→起動」を永々に繰り返してくれてとても迷惑なので、環境が整うまでは停止できるように設定を変更しておいた方がいいと思います。
~/Library/LaunchAgents
以下にコピーした、homebrew.mxcl.mysql.plistをXcodeで開きます。
開いたら「KeepAlive」を値を「NO」にします。これで停止できるようになります。
ついでに、もう一カ所変更します。「Program」に設定されているコマンドのパスを/usr/local/bin/mysqld_safe
に変更します。
上記のように/usr/local/Cellar
以下のパスで設定されていると、mysqlをアップデートする度に起動スクリプトをコピーし直す必要があって面倒なのでパスを変えてます。
※新しいバージョンでは最初から/usr/local/bin/mysqld_safe
になっています。旧バージョンのcom.mysql.mysqld.plistを使っている場合のみ有効な設定です。
設定が済んだら下記を実行してスクリプトを有効にします。
再度スクリプトを変更した場合は、下記を順に実行してスクリプトを再読み込みさせてください。
$ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
その他
MySQLの再起動
mysqlを再起動させる場合は、下記のようにstop→startした方がいいようです。
$ mysql.server start
一応$ mysql.server restart
というコマンドもあるのですが、restartは起動に失敗したことが何度かあったので。
my.cnfを使いたい
my.cnfファイルを使う場合は用途に合わせて以下のように設置するのですが、自分しか使わない環境であればどこで設定しても問題ないと思います。
ファイルの設置場所 | 用途 |
---|---|
/etc/my.cnf | グローバル設定 |
/usr/local/var/mysql/my.cnf | サーバ固有の設定 |
~/.my.cnf | ユーザー固有の設定 |
Homebrewで入れてるので/usr/local/var/mysql/my.cnf
で設定しとけばいいんじゃないかと。
設定したら反映させるためmysqlを再起動します。反映されているかどうか調べるには、mysqlにログイン後、下記コマンドを実行します。
$ mysql> show variables like "char%";
参考リンク:
MySQL :: MySQL 4.1 リファレンスマニュアル :: 4.1.2 my.cnf オプション設定ファイル
homebrewでmysqlをinstallしたら、その快適さがわかった - oklablog@hatena
スポンサード リンク