No.366
【phpMyAdmin】No such file or directory
なんでDBアクセスして「ファイルがない」エラーなんだ…
phpMyAdminを使ったことのある人なら一度は見たことがあると思うこのエラー
mysqli_real_connect(): (HY000/2002): No such file or directory
エラーメッセージが「ファイルやディレクトリがない」なので困惑するが、わかってみれば理由は単純。MySQLがソケット通信に使うファイルが見つからないというわけだ。
というわけでTCPで接続すればOK。
対応方法
config.inc.php
中のhostの記載を変更する。
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['host'] = '127.0.0.1';
localhost
だとmysql.sock
を探しに行くけど、localhost
ならTCP/IPで接続にいくのでFWでもミスしていない限り接続できる。
mysqli_real_connect(): (HY000/2002): No such file or directory - Stack Overflow
の説明がわかりやすい。
The reason for this is that pma tries to connect to the mysql.socket if you use localhost. If you use 127.0.0.1 PMA makes a TCP connection which should work.
なるほどね。