【Xampp】MySQLのsocketの場所を変更

Xampp for linux(lampp)を利用していて、lamppで動いているMySQLのsocketの場所を変更したときのメモ。

socketの場所はmy.confで設定。lamppの場合は/opt/lampp/etc/my.cnf

#socket        = /opt/lampp/var/mysql/mysql.sock
socket        = /tmp/mysql.sock

これでlamppを再起動
# /etc/rc.d/init.d/lampp restart

ちなみにソケットの場所を確認する場合は
# mysqladmin variables | grep socket

lamppのphpMyAdminが次のエラーで動かなくなるので

#2002 - サーバが応答しません (あるいはローカルの MySQL サーバのソケットが正しく設定されていません)

設定ファイルを修正する

# vi  /opt/lampp/phpmyadmin/config.inc.php

$cfg['Servers'][$i]['connect_type'] = 'socket';
$cfg['Servers'][$i]['socket'] = '/tmp/mysql.sock';

を追記する。サービスの再起動は必要なし。

さらに他のMySQLを使うシステムも動かなくなるので、php.iniに記述されているMySQLのsocketの場所を指定する必要あり。

pdo_mysql.default_socket=/tmp/mysql.sock

mysql.default_socket =/tmp/mysql.sock

mysqli.default_socket =/tmp/mysql.sock

3カ所修正してlamppのリロード
# /etc/rc.d/init.d/lampp reload