試運転ブログ

技術的なあれこれ

macでphpmyadminの設定に詰まった話

マックでローカル開発環境を構築のため、phpmyadminをいれたところ、
config.ini.phpを作成してログインするための設定はしたが、

#2002 MySQLサーバにログインできません

と出て詰まってしまった。

調べたところ、phpmyadminではなく、phpの拡張モジュールのソケットの設定が必要らしい。

MySQLの環境は、ログインしてstatusコマンドを打ち込めばみることができる。

 mysql> status
--------------
mysql5  Ver 14.14 Distrib 5.1.68, for apple-darwin12.2.0 (i386) using readline 6.2
 

Connection id:          11
Current database:
Current user:           otameshi61@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         5.1.68 Source distribution
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    latin1
Conn.  characterset:    latin1
UNIX socket:            /opt/local/var/run/mysql5/mysqld.sock
Uptime:                 11 hours 21 min 43 sec
 

Threads: 1  Questions: 47  Slow queries: 0  Opens: 15  Flush tables: 1  Open tables: 8  Queries per second avg: 0.1
--------------

このUNIX socketのパスをphpの設定ファイルに書いてPHPからMySQLを使えるようにしてやればよい。
phpの設定ファイルは/etcにphp.ini.defaultというファイルがあるので、

cp php.ini.default php.ini

とし、php.iniファイルを作成して、
mysql.default_socket
mysqli.default_socket
にパスを通す。

mysql.default_socket = /opt/local/var/run/mysql5/mysqld.sock
mysqli.default_socket = /opt/local/var/run/mysql5/mysqld.sock

これで、PHPからMySQLが使えるようになりphpmyadminもきちんと動くようになった。

(XAMPPを使うとここら辺の設定もすんでるだっけ...?)