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. Snow Leopard ServerとWindowsのファイル共有

  2. boot2dockerはDocker実行用のLinuxディストリビュー…

  3. Surface RTを入手しました

  4. 仮想PCで開発作業

  5. 「改訂3版 基礎から学ぶiPhoneアプリ開発」発売です

  6. 内部の作業環境のインフラ整備

最近の著書

  1. 基礎から学ぶ SwiftUI

最近の記事

  1. 2020.10.21

    GitLabへの移行
  2. 基礎から学ぶ SwiftUI
  3. 基礎から学ぶ SwiftUI