予期せぬエラーが発生した。  SQLSTATE[HY000] [2002] No such file or directory 

2015.07.24(金)

同時投稿:http://cafekojima.blogspot.jp/2015/07/sqlstatehy000-2002-no-such-file-or.html

1. 先ず、mysql を調べてみる。

$mysql

dyld: Library not loaded: @@HOMEBREW_CELLAR@@/openssl/1.0.2d_1/lib/libcrypto.1.0.0.dylib

Referenced from: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib

Reason: image not found

Trace/BPT trap: 5

2. libssl.1.0.0.dylib の存在を PropEdit を使って確かめたところ以下の通り両者とも同じものが存在している。

/usr/local/Cellar/openssl/1.0.2d_1/lib/libssl.1.0.0.dylib

/Volumes/Time Machine/Backups.backupdb/kMB-A/2015-07-23-203248/Macintosh HD/usr/local/Cellar/openssl/1.0.2d_1/lib/libssl.1.0.0.dylib

3. libssl.1.0.0.dylib 自体はインストールされているが、openssl が機能していないため見つからないのではないか。

$brew link openssl –force

Linking /usr/local/Cellar/openssl/1.0.2d_1… 1548 symlinks created

4. 再度、mysql を調べてみる。

openssl が機能し libssl.1.0.0.dylib をロードすることが出来た。

新たに /tmp/mysql.sock を通してサーバに接続できないという EPPOR が出る。

$mysql

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)

5. 先ず、my.cnf の所在を確かめる。

$mysql –help | grep my.cnf

order of preference, my.cnf, $MYSQL_TCP_PORT,

/etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf

6. /etc/my.cnf の中の mysql.sock 指定を確かめる。

今まで通りである。

[mysqld]

socket = /tmp/mysql.sock

[client]

socket = /tmp/mysql.sock

7. 今まで mysql では、この mysql.sock 指定で通信していた。

PHPでは /var/lib/mysql/mysql.sock に接続しに行こうとしているのではないか。

8. そこで更に、クライアント側からのソケット場所も指定する。

/private/etc/my.cnf に以下を追加。

[client]

socket=/var/lib/mysql/mysql.sock

[mysqld]

socket=/var/lib/mysql/mysql.sock

9. mysql を起動してみる。

$mysql.server restart

ERROR! MySQL server PID file could not be found!

Starting MySQL

.. SUCCESS!

11:08 AM kojiMacBook-Air:~

結果::成功

以下のサイトが表示された。

http://www.kojimat.ddo.jp/concrete5.7.4/

コメントを残す