LionでMySQLを稼働させるための5ステップ

先日、Lion ServerでプリインストールされたMySQLを使用するための方法を書いたのですが、どうも調子が悪いので、Lion ServerでMySQLを稼働させるための手順をまとめました。
[1] ダウンロードとインストール
まずは、バイナリのダウンロード。この記事の執筆時点では最新版はバージョン5.5.16です。Mac OS X 10.7用のバイナリをダウンロードと行きたいところですが、公開されているのはMac OS X 10.6用のバイナリ。仕方が無いので、これを使用します。
[2] インストール
ダウンロードしたdmgをマウントして、その中のインストーラ2つ+PrefPaneをインストールします。

MySQLのDMGの中。PrefPaneのインストールは「MySQL.prefPane」をダブルクリック。

MySQLのDMGの中。PrefPaneのインストールは「MySQL.prefPane」をダブルクリック。


[3] 設定ファイルのコピーと文字コードの設定
設定ファイルをコピーします。設定ファイルは、「/usr/local/mysql/support-files/my-small.cnf」を使用します。他のファイルでもOKです。次のようにターミナルで入力します。
[cc]
cp /usr/local/mysql/support-files/my-small.cnf ~/Desktop/my.cnf
[/cc]
デスクトップに「my.cnf」ファイルができるので、テキストエディタで開いて、「[mysqld]」と「[mysql]」のところに、文字コードの設定を追加します。(「character-set-server=utf8」と「default-character-set=utf8」を追加)
[cc]
〜省略〜
# The MySQL server
[mysqld]
〜省略〜
character-set-server=utf8
〜省略〜
[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
default-character-set=utf8
〜省略〜
[/cc]
追加が終わったら、ターミナルで次のように入力して、設定ファイルをコピーします。
デスクトップのは削除してOKです。
[cc]
sudo cp ~/Desktop/my.cnf /etc/my.cnf
[/cc]
[4] MySQLを起動して、管理者パスワードを設定
MySQLの起動はインストールしたPrefPaneから行います。システム環境設定にインストールされているので、システム環境設定から「MySQL」を開いて、「Start MySQL Server」ボタンをクリックします。
MySQLのPrefPane

MySQLのPrefPane


管理者パスワードの設定は、ターミナルから次のように入力します。
[cc]
/usr/local/mysql/bin/mysqladmin -u root password パスワード
[/cc]
その後、再読み込み。
[cc]
/usr/local/mysql/bin/mysqladmin reload -u root -p
[/cc]
[5] PHPのMySQLConnectorの参照先のソケットを変更する
[4]までの手順でMySQLは動くのですが、PHPから接続できない状態になっています。PHPから接続できるようにするには、ソケットの設定を変更します。
「/etc/php.ini」ファイルの「mysql.default_socket」の値を「/tmp/mysql.sock」に変更します。ターミナルで次のように入力して、「nano」で編集して保存します。
[cc]
sudo nano /etc/php.ini
[/cc]
なお、上記を実行したときに空のファイルが表示された場合は、まだ、ファイルが無いので、次のように入力してデフォルトのファイルをコピーしてから編集します。
[cc]
sudo cp /etc/php.ini.default /etc/php.ini
[/cc]
(2011.12.24更新, 「mysqli.default_socket」の編集が抜けていました)
[cc]
〜省略〜
[MySQL]
〜 省略 〜
;mysql.default_socket = /var/mysql/mysql.sock
mysql.default_socket = /tmp/mysql.sock
〜 省略 〜
;mysqli.default_socket = /var/mysql/mysql.sock
mysqli.default_socket = /tmp/mysql.sock
〜 省略 〜
[/cc]
あとは、Webサービスを再起動すれば完了です。

関連記事

  1. Swift、オープンソース化、本当に出た!

  2. Lion Serverの「iOSデバイスと共有(WebDAV)」を使っ…

  3. ArduinoからマイクロSDカードへの書き出し

  4. svnXリポジトリウインドウの使い方

  5. [メモ] MongoDBのセットアップ (OSX, Homebrew版…

  6. BootCampでAeroが有効にならなかったときの修正方法

最近の著書

最近の記事