Mavericks(Mac OS X 10.9)MySQLのインストール

  Mavericks

Homebrew を使用してMySQLをインストールします。

Mavericks(Mac OS X 10.9) Homebrewのインストールはこちら

$ brew install mysql

 

MySQLを起動します。

$ mysql.server start

 

rootのパスワードを設定します。

$ mysqladmin -u root password '任意のパスワード半角英数'

 

「socket」の設定

socket を確認します。

ターミナルから

$ mysql -u root -p
Enter password:
mysql> status
--------------
mysql  Ver 14.14 Distrib 5.6.15, for osx10.9 (x86_64) using  EditLine wrapper

Connection id:		1
Current database:
Current user:		root@localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		5.6.15 Homebrew
Protocol version:	10
Connection:		Localhost via UNIX socket
Server characterset:	utf8
Db     characterset:	utf8
Client characterset:	utf8
Conn.  characterset:	utf8
UNIX socket:		/tmp/mysql.sock
Uptime:			1 hour 54 min 45 sec

 

下記の項を確認します。
「UNIX socket: /tmp/mysql.sock」

 

「/etc/php.ini」があるか確認
ターミナルから

$ ls /etc/

 

無ければ「/etc/php.ini.default」ファイルを「/etc/php.ini」としてコピーします。
ターミナルから

$ sudo cp /etc/php.ini.default /etc/php.ini

 

「php.ini」に socket「/tmp/mysql.sock」を追記します。
ターミナルから

$ sudo vi /etc/php.ini

 

「pdo_mysql.default_socket」に該当する部分を変更します。

vi のコマンドモードで検索「/pdo_mysql.default_socket」してヒットした部分に「/tmp/mysql.sock」を追記します。

986行目付近

pdo_mysql.default_socket=/tmp/mysql.sock

 

1135行目付近

mysql.default_socket = /tmp/mysql.sock

 

1194行目付近

mysqli.default_socket = /tmp/mysql.sock

 

viを強制保存して終了します。
コマンドモードで「:wq!」
Apacheを再起動します。

$ sudo apachectl start

 

MySQL自動起動の設定

OS起動時にMySQLが自動で起動するようにスクリプトを設置します。

「~/Library/LaunchAgents」ディレクトリがあるか確認します。
無ければ作成します。

$ mkdir -p ~/Library/LaunchAgents

 

スクリプトをコピーします。

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

※ 〜/mysql/ の次のディレクトリ ( 数字 ) はインストールしたMySQLのバージョン番号になっています。

設置したらスクリプトを一部変更します。

デフォルトではmysqlが落ちても自動で復帰するようになっていますが、このままではトラブルがあっても「停止できない」状態なのでローカル開発環境では停止できるように設定を変更しておきます。

「~/Library/LaunchAgents」以下にコピーした「homebrew.mxcl.mysql.plist」をXcodeで開きます。
(ファインダーの「移動」から「フォルダへ移動」を選択して「~/Library/LaunchAgents」を入力します)

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

保存して終了します。

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

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

 

mysqlの再起動

ターミナルから

$ mysql.server stop
$ mysql.server start

 

MySQLの設定ファイル「my.cnf」の設置場所
  • /etc/my.cnf(グローバル設定)
  • /usr/local/var/mysql/my.cnf(サーバ固有の設定)
  • ~/.my.cnf(ユーザー固有の設定)

 

[ MySQL ]日本語設定

設定を確認します。
ターミナルから

$ mysql -u root -p
Enter password:
mysql> status

 

下記項目が「UTF-8」になっているか確認する。

〜略〜
 Server characterset: utf8
 Db characterset: utf8
 Client characterset: utf8
 Conn. characterset: utf8
〜略〜

 

「UTF-8」意外の場合は設定を変更します。

「/etc/my.cnf」があるか確認します。

$ ls /etc/

 

無ければ「/usr/local/Cellar/mysql/5.6.15/my.cnf」ファイルをコピーして利用します。

$ ls /usr/local/Cellar/mysql/5.6.15/

 

「my.cnf」ファイルをコピーして「/etc/」に保存します。

$ cp /usr/local/Cellar/mysql/5.6.15/my.cnf /etc/my.cnf

 

「my.cnf」に下記を追記します。

[mysqld]
skip-character-set-client-handshake
character-set-server = utf8
[mysqldump]
default-character-set = utf8
[mysql]
default-character-set = utf8

 

MySQLを再起動します。
ターミナルから

$ mysql.server stop
$ mysql.server start

 

MySQLの設定が反映されたか確認します。

$ mysql -u root -p
Enter password:
mysql> status;

〜略〜
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
〜略〜

 

すべての「characterset」が「utf8」になっていれば完了です。

  Mavericks     by