MacでMySQLの環境を整える


最近、「○○のインストールを行うにはHomebrewの利用が大変便利です」って言い過ぎですが、MySQLのインストールを行うにはHomebrewの利用が大変便利です。

Homebrewは[MacOSX Lion(10.7)でRubyの開発環境を整える](http://qiita.com/items/5b517705ef2ea7f6e36d)で紹介していますのでそちらを参考にしてください。

##BrewコマンドでMySQLをインストールする

MySQLのインストールを行うには以下のコマンドを利用します

```Bash
brew install mysql
```

するとダウンロードが開始されます

>Warning: Experimental support for using the "Command Line Tools" without Xcode.
Some formulae need Xcode to be installed (for the Frameworks not in the CLT.)
==> Downloading http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.25a.tar.g

2~3分すると処理が完了します。これからセットアップを行います。

##データベースの作成
まずは、データベースの作成を行いましょう

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

>Installing MySQL system tables...
OK
Filling help tables...
OK

うまくいきました。

##MySQLの起動
ではMySQLを起動してみましょう。起動するには以下のコマンドを使います。

```Bash
mysql.server start
```

>Starting MySQL
.. SUCCESS! 

##セキュリティ関係のセットアップ
次に、パスワードなどの設定を行います。

```Bash
mysql_secure_installation
```

まずはrootのパスワードを設定するか聞かれますのでyを選びます

>Set root password? [Y/n] y
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!

あとは、テスト用のデータベースやリモートアクセスなどを消してもいいか聞かれますので全てreturnでいいかと思います。

>Remove anonymous users? [Y/n] 
 ... Success!

>Disallow root login remotely? [Y/n] 
 ... Success!

>Remove test database and access to it? [Y/n] 
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

>Reload privilege tables now? [Y/n] 
 ... Success!

>Cleaning up...

>All done!  If you've completed all of the above steps, your MySQL
installation should now be secure.

>Thanks for using MySQL!

さて、これで完了です。早速、MySQLにログインしてみましょう。

##MySQLにログインする
```Bash
mysql -uroot -p
Enter password: 
```

>Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 5.5.25a Source distribution

>Copyright (c) 2000, 2011, 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>

うまくいきました。

##日本語周りのセットアップ
ググってみると、少し古い記事などには/etc/my.confの設定の項目がありますが、5.5.14以降ではデフォルトの文字コードがUTF-8らしく文字コード変更の設定はいりません。念のために設定を確認してみましょう。

```SQL
mysql> show variables like 'character_set%';
```

>+--------------------------+-------------------------------------------------------+
| Variable_name            | Value                                                 |
+--------------------------+-------------------------------------------------------+
| character_set_client     | utf8                                                  |
| character_set_connection | utf8                                                  |
| character_set_database   | utf8                                                  |
| character_set_filesystem | binary                                                |
| character_set_results    | utf8                                                  |
| character_set_server     | utf8                                                  |
| character_set_system     | utf8                                                  |
| character_sets_dir       | /usr/local/Cellar/mysql/5.5.25a/share/mysql/charsets/ |
+--------------------------+-------------------------------------------------------+
8 rows in set (0.00 sec)

どうやら噂通り、utf-8が使用されているようです。

これで環境が整いました。