HomebrewでMySQLをインストールする際の手順と起動スクリプトの設定についてです。
事前準備
Homebrewのインストールが必要です。
Homebrewのインストールと設定 - TASK NOTES
MySQLのインストール
インストールコマンドを実行します。最新版を入れたい場合は先にbrew update
を実行して下さい。
$ brew install mysql
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/mysql-5.6.22.yosemite.bottle.tar.gz ######################################################################## 100.0% ==> Pouring mysql-5.6.22.yosemite.bottle.tar.gz ==> Caveats A "/etc/my.cnf" from another install may interfere with a Homebrew-built server starting up correctly. To connect: mysql -uroot To have launchd start mysql at login: ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents Then to load mysql now: launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist Or, if you don't want/need launchctl, you can just run: mysql.server start ==> /usr/local/Cellar/mysql/5.6.22/bin/mysql_install_db --verbose --user=tasukujp --basedir=/usr/local/Cellar/mysql/5.6.22 --datadir=/usr/local/var/my ==> Summary 🍺 /usr/local/Cellar/mysql/5.6.22: 9666 files, 339M
インストールされました。
$ mysql --version mysql Ver 14.14 Distrib 5.6.22, for osx10.10 (x86_64) using EditLine wrapper
MySQLに接続する
表示された内容に従ってMySQLを起動します。
$ mysql.server start Starting MySQL . SUCCESS!
起動できたら接続します。
$ mysql -uroot Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.6.22 Homebrew Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
接続出来ました。mysql> exit
で接続を切ります。
mysql> select version(); +-----------+ | version() | +-----------+ | 5.6.22 | +-----------+ 1 row in set (0.00 sec) mysql> exit Bye
また、起動する前に接続しようとすると次のエラーが出ます。
$ mysql -uroot ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
MySQLを停止します。
$ mysql.server stop Shutting down MySQL . SUCCESS!
起動スクリプトの設定
OS起動時にMySQLを自動で起動させるために起動スクリプトのリンクを~/Library/LaunchAgents
に作成します。
$ ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents /Users/tasukujp/Library/LaunchAgents/homebrew.mxcl.mysql.plist -> /usr/local/opt/mysql/homebrew.mxcl.mysql.plist
実行してみます。
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
起動されました。これで毎回mysql.server start
としなくても大丈夫です。
$ mysql.server status SUCCESS! MySQL running (20035)
ついでに起動スクリプトの設定を変更しておきます。先程作成したファイルを開いて下さい。
$ open ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
デフォルトでは KeepAlive の項目が YES になってますが、この場合 MySQL が落ちた時に自動で起動されます。そのためmysql.server stop
とした場合でも停止できませんので NO に変えておきます。
変更したら起動スクリプトの再読み込みをします。
$ launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist $ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
停止出来るようになりました。
$ mysql.server stop Shutting down MySQL . SUCCESS! $ mysql.server status ERROR! MySQL is not running