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サービスを再起動すれば完了です。

著書紹介

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Akira Hayashi (林 晃)のアバター Akira Hayashi (林 晃) Representative(代表), Software Engineer(ソフトウェアエンジニア)

アールケー開発代表。Appleプラットフォーム向けの開発を専門としているソフトウェアエンジニア。ソフトウェアの受託開発、技術書執筆、技術指導・セミナー講師。note, Medium, LinkedIn
-
Representative of RK Kaihatsu. Software Engineer Specializing in Development for the Apple Platform. Specializing in contract software development, technical writing, and serving as a tech workshop lecturer. note, Medium, LinkedIn

目次