2012年7月5日木曜日

Mac OSX 10.7 lion serverにmysql

phpとくればmysqlでしょ、と思ったらMac OSX 10.7 Lionからpostgresに変わったようで、使うにはインストールが必要らしい。
ということでmysqlをインストールしてみる。


mysqlインストール

まずはMySQLのサイトから最新版をダウンロード


「MySQL Community Server」からMac用のアーカイブをダウンロードします。
今回はDMG-Archiveをダウンロードしました。

Lion用のMySQLは無いようですので、10.6用を使ってみます。


インストールは「mysql-5-5.24-osx10.6-x86_64_pkg」をダブルクリックしてインストーラの指示通りにしていくだけで、特に入力することも無く、あっさり終了。

あとは同パッケージ内の残りのファイル
自動起動させるために「MySQLStartupItem.pkg」をダブルクリックしてインストール。
システム環境設定にアイコンを表示させるのに「MySQL.prefPane」をダブルクリックして登録

あとは開いたMySQLパネルで「Start MySQL Server」ボタンを押して起動完了!


これでインストール作業は一旦終了。

次は端末から簡単に操作ができるようにmysqlへパスを通します。
これで
/usr/local/mysql/bin/mysql -u root -p
という長ったらしいコマンドを
mysql -u root -p
にしてくれます。


vi ~/.bash_profile
で ホームディレクトリの./bash_profileファイルを開き(無い場合は新規作成)
export PATH=$PATH:/usr/local/mysql/bin
と書いて「:wq!」コマンドで保存・終了
source ~/.bash_profile
でファイルを再読み込みします。

うまく行けば、端末で

mma:~ hoge$ mysql -v   ←こんな風に打てば

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 147
Server version: 5.5.24 MySQL Community Server (GPL)

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.

Reading history-file /Users/hir/.mysql_history
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>   ←こんな風に表示されます。


my.cnfの編集(文字コードをutf8に)


Finderで「移動」→「フォルダへ移動」で
/etc/local/mysql/support-files
へ移動し、「my-○○○.cnf」ファイルの中から自分の環境に合わせたファイルを/etcにコピーして「my.cnf」とリネームします。(ワタシはとりあえずmy-small.cnfを選択)

my.cnfをエディタで開き
[mysqld]の最下行に
skip-character-set-client-handshake
character-set-server=utf8
の2行を追加

[mysqldump]と[mysql]に
default-character-set=utf8

をそれぞれ追加します。

念のため「システム環境設定」→「mysql」でサーバを再起動します。


rootパスワードの設定とログインテスト

ターミナルで
mma:~ hoge$mysqladmin -u root password パスワード
でパスワードを設定し
mma:~ hoge$mysql -u root -p
で先ほど設定したパスワードでログインできるか確認します。


PHPから接続できるようにphp.iniを設定


MacOSX10.5あたりから、UNIXsocketの場所が変わっているようなのでphp.iniファイルを書き換えます。

まずはUNIXsocketの場所を確認

mysql -u root -p
でログイン、プロンプトで
「status」と入力します。

ズラズラっと表示された情報の中からUNIX socket:を探して内容を覚えておきます。

次に/etc内のphp.iniファイルを編集します。

; Default socket name for local MySQL connects.  If empty, uses the built-in
; MySQL defaults.
; http://php.net/pdo_mysql.default-socket
pdo_mysql.default_socket=/var/mysql/mysql.sock

を

pdo_mysql.default_socket=/tmp/mysql.sock

; Default socket name for local MySQL connects.  If empty, uses the built-in
; MySQL defaults.
; http://php.net/mysql.default-socket
mysql.default_socket = /var/mysql/mysql.sock

を

mysql.default_socket = /tmp/mysql.sock


; Default socket name for local MySQL connects.  If empty, uses the built-in
; MySQL defaults.
; http://php.net/mysqli.default-socket
mysqli.default_socket = /var/mysql/mysql.sock

を

mysqli.default_socket = /tmp/mysql.sock

に変更します。

これでいけるはず。
最後にWEBサーバ(Apache)を再起動して動作確認。



0 件のコメント: