Macとかの雑記帳

HomebrewでMySQLをインストールする時に知っておきたいこと

HomebrewでMySQLをインストールする際の注意点などについてです。MySQL自体はインストール時に表示される注意書きどおりに設定すれば問題なかったのですが、起動スクリプトで少しトラブったので備忘録です。

その他にもメモっておきたいことがあったので記事にしました。HomebrewでMySQLをインストールした方の参考になればと思います。

MySQLのインストールと初期設定

まずはMySQLのインストール。

$ brew install mysql

 

インストールが終了すると、下のように色々と表示されるので、その通りに進めていけばとりあえず使えるようになります。

mysql_01

ちなみに、これらの注意書きは$ brew info mysqlを実行すればいつでも見れます。

データベースとユーザーの設定

インストールが済んだら、表示された内容に従って順に設定していきます。最初にデータベースのインストールとデータを格納する場所の設定をします。

$ unset TMPDIR
$ mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

これらを実行すると、ユーザーとパスワードの設定をするよう促されるので、その通りに設定します。

msql_02

 

最初にmysqlを起動します。

$ mysql.server start

 

起動したらパスワードの設定をします。

$ mysqladmin -u root password 'new-password'
$ mysqladmin -u root -h kikaigyo.local password 'new-password'

赤字の部分は設定したいパスワードに置き換えます。青字の部分は環境によって変わってきます。

一通り終わると/usr/local/varに「mysql」というフォルダが作成され、ここがデータベースの格納場所になります。

msql_03

 

ほかにも設定したい項目がある場合は、下記を実行して対話方式で設定していきます。

$ mysql_secure_installation

起動スクリプトの設定

OS起動時にmysqlを自動で起動させるためにスクリプトを設置します。

$ cp /usr/local/Cellar/mysql/5.5.19/homebrew.mxcl.mysql.plist ~/Library/LaunchAgents/

~/Library/LaunchAgentsが無い場合は、先に下記を実行します。

$ mkdir -p ~/Library/LaunchAgents

 

設置したらスクリプトを一部変更します。デフォルトではmysqlが落ちても自動で復帰するようになっているのですが、言い方を変えると「停止できない」状態です。

何かトラブったりして起動できない状態になると「落ちる起動落ちる起動」を永々に繰り返してくれてとても迷惑なので、環境が整うまでは停止できるように設定を変更しておいた方がいいと思います。

~/Library/LaunchAgents以下にコピーした、homebrew.mxcl.mysql.plistをXcodeで開きます。

msql_04

 

開いたら「KeepAlive」を値を「NO」にします。これで停止できるようになります。

msql_04

 

ついでに、もう一カ所変更します。「Program」に設定されているコマンドのパスを/usr/local/bin/mysqld_safeに変更します。

msql_06

上記のように/usr/local/Cellar以下のパスで設定されていると、mysqlをアップデートする度に起動スクリプトをコピーし直す必要があって面倒なのでパスを変えてます。

新しいバージョンでは最初から/usr/local/bin/mysqld_safeになっています。旧バージョンのcom.mysql.mysqld.plistを使っている場合のみ有効な設定です。

設定が済んだら下記を実行してスクリプトを有効にします。

$ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

 

再度スクリプトを変更した場合は、下記を順に実行してスクリプトを再読み込みさせてください。

$ launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
$ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

その他

MySQLの再起動

mysqlを再起動させる場合は、下記のようにstopstartした方がいいようです。

$ mysql.server stop
$ 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

スポンサード リンク